gpt4 book ai didi

sql - "Collapse"表消除空值

转载 作者:行者123 更新时间:2023-12-04 16:55:47 30 4
gpt4 key购买 nike

我有一个允许在 GUI 中创建自定义字段的产品。我创建了三个字段:System Ship Date、System Warranty End Date 和 System Warranty Notes。可悲的是,系统将这些填充为行,而不是列。

例子:

Machine_GroupID      | agentGuid | fieldName                |  fieldValue
-----------------------------------------------------------------------------
systemABC.companyABC | 57537921 | System Ship Date | 1/1/1900
systemABC.companyABC | 57537921 | System Warranty End Date | 1/1/1950
systemABC.companyABC | 57537921 | System Warranty Notes | Test notes
system123.companyABC | 48394844 | System Ship Date | 1/1/1900
system123.companyABC | 48394844 | System Warranty End Date | 1/1/1950
system123.companyABC | 48394844 | System Warranty Notes | Test notes
systemXYZ.companyABC | 99948403 | System Ship Date | 1/1/1900
systemXYZ.companyABC | 99948403 | System Warranty End Date | 1/1/1950
systemXYZ.companyABC | 99948403 | System Warranty Notes | Test notes

我需要将 System Ship Date 作为一列返回,System Warranty End Date 作为一列返回,System Warranty Notes 作为一列返回。如果我使用 CASE WHEN 语句:
CASE WHEN sim.fieldName = 'System Ship Date' 
THEN sim.fieldValue END AS 'System Ship Date',
CASE WHEN sim.fieldName = 'System Warranty End Date'
THEN sim.fieldValue END AS 'System Warranty End Date',
CASE WHEN sim.fieldName = 'System Warranty Notes'
THEN sim.fieldValue END AS 'System Warranty Notes'

数据因此以每台计算机为基础出现:

header1 header2 header3
数据 1 NULL NULL
NULL 数据 2 NULL
NULL NULL 数据3

我需要它看起来像这样:

header1 header2 header3
数据1 数据2 数据3

我以为我可以以某种方式使用 MAX() 但我是新手,它超出了我的范围。或者,我知道我可以创建一个临时表,但我也不知道。我在网上和堆栈上进行了广泛的搜索,但就我所能得到的是 CASE WHEN 语句。

最佳答案

为什么不自加入?还是简单点...

SELECT
s1.Machine_GroupID, s1.agentGuid,
s1.fieldValue, s2.fieldValue, s3.fieldValue
FROM
sim s1
JOIN sim s2 ON s1.Machine_GroupID = s2.Machine_GroupID
JOIN sim s3 ON s1.Machine_GroupID = s3. Machine_GroupID
WHERE
s1.fieldName = 'System Ship Date' AND
s2.fieldName = 'System Warranty End Date' AND
s2.fieldName = 'System Warranty Notes'

关于sql - "Collapse"表消除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101423/

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