gpt4 book ai didi

SQL 行到列

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

我在 MS SQL 中有下面的表结构

AirQuoteID        Name        SalesValue
7 M 49.50
7 N 23.10
7 +45 233.20
7 +100 233.20
7 +250 2333.10

我想要一个可以返回的查询

AirQuoteID      M        N        +45        +100    +250
7 49.50 23.10 233.20 233.20 2333.10

最佳解决方案是什么?值是动态的

最佳答案

您需要查看PIVOT运算符。

;With T As
(
SELECT 7 AirQuoteID,'M' Name,49.50 SalesValue UNION ALL
SELECT 7 AirQuoteID,'N', 23.10 UNION ALL
SELECT 7 AirQuoteID,'+45',233.20 UNION ALL
SELECT 7 AirQuoteID,'+100',233.20 UNION ALL
SELECT 7 AirQuoteID,'+250',2333.10
)
SELECT AirQuoteID, [M], [N], [+45], [+100], [+250]
FROM T
PIVOT
(
MAX(SalesValue)
FOR Name IN ([M], [N], [+45], [+100], [+250])
) AS pvt;

但是,如果列的值不固定,您将需要使用 dynamic SQL .

关于SQL 行到列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821523/

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