gpt4 book ai didi

sql - 为名称/值对数据创建 SQL 查询

转载 作者:行者123 更新时间:2023-12-04 20:12:09 25 4
gpt4 key购买 nike

我将数据存储在如下表中,我需要重新排列它。 “FieldName”条目数量有限。这些应该作为“FieldValue”数据的标题。数据存储在 Excel 工作簿中以供进一步使用。我无法更改数据的存储方式和/或重新设计表格。

ID | Source | FieldName | FieldValue  
--------------------------------------------
1 | EMail | From | Sender
1 | EMail | To | Receiver
1 | EMail | Subject | Whatever
2 | EMail | From | Another Sender
2 | EMail | To | Another Receiver
2 | EMail | Subject | Other Text
3 | Letter | From | 3rd Sender
3 | Letter | To | asdg
3 | Letter | Subject | odasda

这就是决赛 table 的样子。
ID | Source | From           | To               | Subject
-----------------------------------------------------------------
1 | EMail | Sender | Receiver | Whatever
2 | EMail | Another Sender | Another Receiver | Other Text
3 | Letter | 3rd Sender | asdg | odasda

这样做的目的是——通过拥有这样的数据——我可以通过 ID 将数据连接到其他数据上。

目前,在我的 Excel 工作簿中使用 vba 运行查询后,我正在重新排列数据,但这感觉有点不正常。

有谁知道如何解决它?谷歌搜索了一段时间后我没有找到任何东西。

最佳答案

您可以像这样使用条件聚合:

SELECT t.id,t.source
max(CASE WHEN t.fieldname = 'From' then t.FieldValue end) as From_col,
max(CASE WHEN t.fieldname = 'To' then t.FieldValue end) as To_col,
max(CASE WHEN t.fieldname = 'Subject' then t.FieldValue end) as Subject_col
FROM YourTable t
GROUP BY t.id,t.source

关于sql - 为名称/值对数据创建 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037038/

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