gpt4 book ai didi

sql - 透视 - SQL - 来自子查询的值

转载 作者:行者123 更新时间:2023-12-04 14:00:45 26 4
gpt4 key购买 nike

我有一个像这样的简单查询..

USE AdventureWorks;
GO

SELECT DaysToManufacture, AVG(StandardCost) AS AverageCost
FROM Production.Product
GROUP BY DaysToManufacture;



DaysToManufacture AverageCost
0 5.0885
1 223.88
2 359.1082
4 949.4105

一个简单的支点给了我
SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days,   
[0], [1], [2], [3], [4]
FROM
(SELECT DaysToManufacture, StandardCost
FROM Production.Product) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;

给我
Cost_Sorted_By_Production_Days   0                     1                     2                     3                     4

AverageCost 5.0885 223.88 359.1082 NULL 949.4105

但是数据透视查询中的值是硬编码的..我想从子查询中获取这些值..
select DaysToManufacture FROM Production.Product GROUP BY DaysToManufacture;

但是枢轴不允许我从子查询中获取值,除了编写动态生成的查询之外,还有什么方法可以做到这一点?

最佳答案

不能。这只能使用动态查询来完成。我也很想知道是否有办法。

有一些例子,快速 Google search使用 COALESCE 找到创建列列表。但是我更喜欢使用 STUFF 创建列列表.但是我确实找到了这篇关于使用 CTE's and dynamic pivots 的文章这也可能有帮助

关于sql - 透视 - SQL - 来自子查询的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283674/

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