TSQL等效的MS Access Crosstab查询

BIB*_*IBD 4 sql t-sql sql-server ms-access

什么相当于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
Run Code Online (Sandbox Code Playgroud)

我有许多用户需要对数据进行报告,并且(显然)如果他们能够像这样看到它会更容易:

Fish
ID   Name      Length Girth Weight
---- --------- ------ ----- ------
1    Jack      10     6     4
2    Trout     6            2
3    Bass             12
Run Code Online (Sandbox Code Playgroud)

我的计划是创建一个类似交叉表的视图,他们可以直接报告.

The*_*TXI 9

你在寻找PIVOT吗?

编辑:在看到PIVOT语法的用法之前,您可能必须转到第二页.

编辑2:另一个例子.

示例:

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
Run Code Online (Sandbox Code Playgroud)

编辑3 CodeSlave,查看此博客条目以获取有关动态数据透视查询的更多信息.