合并在单排的多个行中的MySQL视图

问题描述 投票:0回答:1

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

enter image description here

例:

我已经Long_Desc重复4行不同Nutr_ValNutr_No。我想所有的4行结合,从而表的样子

NDB_No | Nutr_No | Nutr_Val | Long_Desc | PROCNT | FAT | CHODCDF | ENERC_KCAL

所以我在这最后4列Nutr_Val调整。

mysql sql sql-view
1个回答
0
投票

这可能与有条件的聚集来解决:

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
© www.soinside.com 2019 - 2024. All rights reserved.