gpt4 book ai didi

sql - 将多行合并为具有多列的不同行的查询

转载 作者:行者123 更新时间:2023-12-03 01:37:39 24 4
gpt4 key购买 nike

我不认为自己是一个完整的 SQL 新手,但我已经断断续续地盯着这个问题两天了,我开始想也许我就是!

使用以下两个表:

ID    Category
1 Animal
2 Color
3 Sport

Name ID Value
Fred 1 Cat
Fred 2 Blue
Fred 3 Football
Sally 1 Dog
Sally 3 Jogging
James 2 Green
Anne 3 Swimming

我无法找到任何组合,可以将从“(ID = 1 或 ID = 2)”查询返回的多行合并到不同的行中。具有多个列。

例如:

where (ID=1 or ID=2)

Name Animal Color
Fred Cat Blue
Sally Dog NULL
James NULL Green

任何人都可以告诉我是否有有效的 SQL 解决方案,或者我是否在浪费时间在应该由报告中的代码处理的事情上?

谢谢

最佳答案

这是 PIVOT 语法

SELECT Name,[1] as Animal, [2] as Color
FROM
(SELECT Name,Id,Value
FROM Table) AS SourceTable
PIVOT
(
MIN(Value)
FOR Id IN ([1], [2])
) AS PivotTable;

关于sql - 将多行合并为具有多列的不同行的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5014656/

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