我有一個查詢在那裏我試圖樞行值到列名和我目前使用SUM(Case...) As 'ColumnName'
語句,就像這樣:動態SQL來生成列名?
SELECT
SKU1,
SUM(Case When Sku2=157 Then Quantity Else 0 End) As '157',
SUM(Case When Sku2=158 Then Quantity Else 0 End) As '158',
SUM(Case When Sku2=167 Then Quantity Else 0 End) As '167'
FROM
OrderDetailDeliveryReview
Group By
OrderShipToID,
DeliveryDate,
SKU1
上述查詢的偉大工程,給了我正是我需要的。不過,我寫了基於以下查詢的結果SUM(Case...
聲明手:
Select Distinct Sku2 From OrderDetailDeliveryReview
有沒有一種方法,使用存儲過程中的T-SQL,我可以動態生成SUM(Case...
聲明從Select Distinct Sku2 From OrderDetailDeliveryReview
查詢然後執行生成的SQL代碼?
感謝您的回答。我見過很多使用'COALESCE'的答案,但是這個函數究竟做了什麼? – 2010-03-31 17:51:00
另外,如果我嘗試按原樣運行查詢,則第15行出現錯誤:「關鍵字'FROM'附近的語法錯誤。」如果我在第14行結束時刪除了逗號,那麼我會在*第3行*上得到一條錯誤消息,說「SUM'附近的語法錯誤'」關於這裏發生了什麼或者如何調試的任何想法? – 2010-03-31 17:53:42
@Cade魯好的,我調整的代碼(在放線14的端部的引號內的逗號;添加了一行修剪逗號關閉@column_list的)。現在,它的工作,這是偉大的,但我不知道第14和17行之間發生了什麼。 – 2010-03-31 18:05:33