我有一个mysql视图,其中1列在4行上重复,但另一列具有不同的值。我想通过给列自定义名称将所有4行合并为1。
例:
我在4行中用不同的Long_Desc
和Nutr_Val
重复了Nutr_No
。我想合并所有4行,以便表看起来像
NDB_No | Nutr_No | Nutr_Val | Long_Desc | PROCNT | FAT | CHODCDF | ENERC_KCAL
所以我在最后4列中调整了
Nutr_Val
。 最佳答案
这可以通过条件聚合来解决:
SELECT
t.nbd_no,
t.nutr_no,
t.nutr_val,
t.long_desc,
MAX(CASE WHEN t.tagname = 'PROCNT' THEN t.fdgrp_cd END) PROCNT,
MAX(CASE WHEN t.tagname = 'FAT' THEN t.fdgrp_cd END) FAT,
MAX(CASE WHEN t.tagname = 'CHODCDF' THEN t.fdgrp_cd END) CHODCDF,
MAX(CASE WHEN t.tagname = 'ENERC_KCAL' THEN t.fdgrp_cd END) ENERC_KCAL
FROM mytable t
GROUP BY
t.nbd_no,
t.nutr_no,
t.nutr_val,
t.long_desc
关于mysql - 在mysql View 中合并多行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54498722/