我需要你的帮助.. 我有一个动态查询,以这种格式返回数据..
Item1 Item1Remarks Item2 Item2Remarks Item3 Item3Remarks Item4 tem4Remarks
==
2 bla bla 5 bla bla 1 bla bla 4 bla bla
项目名称可以变化(可以更改,因为数据是动态的)。项目列包含项目数量。
现在我需要这种格式的数据。
Item Qty Remarks
==
Item1 2 bla bla
Item2 5 bla bla
Item3 1 bla bla
Item4 4 bla bla
答案 0 :(得分:5)
请参阅MSDN上的Using PIVOT and UNPIVOT。
答案 1 :(得分:4)
要专门回答您的问题,您基本上需要一个复杂的多列UNPIVOT查询,例如:
SELECT Item, Qty, Remarks
FROM ItemDetail
UNPIVOT -- This UNPIVOT gives us the Item column
(
Qty FOR Item IN (Item1, Item2, Item3, Item4)
) TheItem
UNPIVOT -- This UNPIVOT gives us the corresponding Remarks column
(
Remarks FOR ItemRemarks IN (Item1Remarks, Item2Remarks,
Item3Remarks, Item4Remarks)
) Ct
WHERE RIGHT(Item,1)=SUBSTRING(ItemRemarks,5,1) -- Match items with their remarks
您没有指定表的名称,因此请将ItemDetail
替换为其实际名称。