首页 > 解决方案 > 如何合并列是数据透视表

问题描述

我目前正在处理一个存储过程,第一步已经完成,但我无法获得所需的输出。

这是我的存储过程

CREATE DEFINER= root@ localhostPROCEDURE sa() BEGIN

SET SESSION group_concat_max_len = 1000000;
SELECT
    GROUP_CONCAT(DISTINCT
        CAST(CONCAT('IFNULL((CASE WHEN DATE_FORMAT(`date`, ''%Y-%m-%d %H:%i'') = DATE_FORMAT(''', `date`, ''', ''%Y-%m-%d %H:%i'') THEN `measurement` END), NULL) AS `', DATE_FORMAT(`date`, '%Y-%m-%d %H:%i'), '`') AS CHAR)
     )INTO @sql
FROM
    `result` ORDER BY `date` DESC;
SET @sql = CONCAT('SELECT patient_id, universal_id AS `Parameter`, ', CAST(@sql as CHAR), '
                                    FROM result WHERE `patient_id` = "218441"
                                     GROUP BY universal_id, DATE_FORMAT(`date`, ''%Y-%m-%d %H:%i'') ORDER BY order_no');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

结尾

这是结果。

在此处输入图像描述

我的问题是如何合并列,因为它们具有相同的值。

谢谢你。

标签: mysqlstored-procedures

解决方案


推荐阅读