我在 MS-SQL DB 中有一个 Order 表和一个 OrderRow 表。
OrderNO *(Order)*
--------
100
101
102
Product Qty **(OrderRow)**
---- ---
Item1 25
Item2 50
Item3 3
Item4 10
----- n items
我想编写一个选择查询,它将返回这样的结果。
OrderNo Item1 Item2 Item3 Item4
----------------------------------------------
100 25 50 3 10
目前我的查询如下。
Select Order.OrderNo,[Item1].Qty , [Item2].Qty from Order
Outer Apply
(Select Qty from OrderRow where Order.OrderNo=OrderRow.OrderNo
and Product=Item1
) as [Item1]
Outer Apply
(Select Qty from OrderRow where Order.OrderNo=OrderRow.OrderNo
and Product=Item2
) as [Item2]
但问题是 OrderRow 中的项目数不是固定数字。
我如何编写一个适用于任意数量项目的查询?..