我有一个mysql视图,其中1列在4行上重复,但另一列具有不同的值。我想通过赋予列自定义名称将所有4行合并为1行。

示例:
我用不同的Nutr_Val和Nutr_No在4行中重复了Long_Desc。我希望将所有4行合并在一起,这样表格看起来就像
NDB_No | Nutr_No | Nutr_Val | Long_Desc | PROCNT | FAT | CHODCDF | ENERC_KCAL所以我在最后4列中调整了Nutr_Val。
发布于 2019-02-03 08:29:24
这可以用条件聚合来解决:
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_deschttps://stackoverflow.com/questions/54498722
复制相似问题