繁体   English   中英

在mysql视图中合并多行

[英]Merge multiple rows in single row in mysql view

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

在此处输入图片说明

例:

我有Long_Desc 4行与不同的重复Nutr_ValNutr_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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM