gpt4 book ai didi

sql - 多行合并为单列

转载 作者:行者123 更新时间:2023-12-03 02:07:56 24 4
gpt4 key购买 nike

我的表中有以下数据。

enter image description here

需要如下输出。

enter image description here

我尝试了以下逻辑,但就我而言,这些 Item# 列是 NVARCHAR 类型,因此 MAX 聚合函数给出的结果是未知。

SELECT ID, Item1, Item2, Item3, Item4, Item5
FROM(
SELECT ID, MAX(Item1), MAX(Item2), MAX(Item3), MAX(Item4), MAX(Item5)
FROM Sample_Table WITH(NOLOCK)
) A
WHERE A.ID = '0001_11'
GROUP BY A.ID

请帮助我得到这个结果。提前致谢。

最佳答案

尝试使用枢轴逻辑。在本例中,我们想要忽略值 Unknown,因此下面的 CASE 表达式将其分配给 NULL,该值被 忽略总和

SELECT
ID,
MAX(CASE WHEN Item1 = 'Unknown' THEN NULL ELSE Item1 END) AS Item1,
MAX(CASE WHEN Item2 = 'Unknown' THEN NULL ELSE Item2 END) AS Item2,
MAX(CASE WHEN Item3 = 'Unknown' THEN NULL ELSE Item3 END) AS Item3,
MAX(CASE WHEN Item4 = 'Unknown' THEN NULL ELSE Item4 END) AS Item4,
MAX(CASE WHEN Item5 = 'Unknown' THEN NULL ELSE Item5 END) AS Item5,
MAX(CASE WHEN Item6 = 'Unknown' THEN NULL ELSE Item6 END) AS Item6
FROM yourTable
GROUP BY
ID;

关于sql - 多行合并为单列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55241294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com