TSQL 中 MS-Access 交叉表查询的等价物是什么?还有更好的方法吗?
我有一个这样组织的数据:
Fish
ID Name
---- ---------
1 Jack
2 Trout
3 Bass
4 Cat
FishProperty
ID FishID Property Value
---- ------ -------- -----
1 1 Length 10
2 1 Girth 6
3 1 Weight 4
4 2 Length 6
5 2 Weight 2
6 3 Girth 12
我有许多用户需要对数据进行报告,并且(显然)如果他们能像这样看到它,对他们来说会更容易:
Fish
ID Name Length Girth Weight
---- --------- ------ ----- ------
1 Jack 10 6 4
2 Trout 6 2
3 Bass 12
我的计划是创建一个他们可以直接报告的类似交叉表的 View 。
最佳答案
你在找 PIVOT 吗?
编辑 :在看到 PIVOT 语法的用法之前,您可能需要进入第二页。
编辑 2 :另一个 example 。
示例 :
SELECT SalesPerson, [Oranges] AS Oranges, [Pickles] AS Pickles
FROM
(SELECT SalesPerson, Product, SalesAmount
FROM ProductSales ) ps
PIVOT
(
SUM (SalesAmount)
FOR Product IN
( [Oranges], [Pickles])
) AS pvt
编辑 3 CodeSlave,查看此 blog entry 以了解有关动态数据透视查询的更多信息。
关于sql - 相当于 MS Access 交叉表查询的 TSQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/802630/