Pivot – SQL – 来自SubQuery的值
发布时间:2020-05-24 14:25:37 所属栏目:MsSql 来源:互联网
导读:我有这样一个简单的查询.. USE AdventureWorks;GOSELECT DaysToManufacture, AVG(StandardCost) AS AverageCost FROM Production.ProductGROUP BY DaysToManufacture; DaysToManufacture AverageCost 0
|
我有这样一个简单的查询.. 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],[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; 但是pivot不允许我从子查询中获取值,除了编写动态生成的查询之外,有没有办法做到这一点? 解决方法不可以.这只能使用动态查询来完成.我真的很想知道是否有办法.快速Google search发现了一些使用COALESCE创建列列表的示例.但是我更喜欢使用STUFF创建列列表.但是我确实找到了关于使用CTE’s and dynamic pivots的这篇文章,这也可能是一种帮助 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
