我有一個存儲過程,它連接多個表以生成一個大的結果集,然後將其返回到我的應用程序。應用程序依次循環遍歷結果,並結合特定ID上的行,並選擇每行數據以包含在新對象中。這也許是最簡單的使用一個例子來解釋:許多SQL行合併爲一個
Inspection, Desc, Value
1, Description1, 3
1, Description2, 2
1, Description3, 5
這在代碼變成
Inspection, Description1, Description2, Description3
1, 3, 2, 5
這樣做的關鍵是具有每檢查項目一行與項目描述爲報頭和值作爲檢查行和標題的單元格值。然後將其導出到Excel。
現在的問題是:如何在SQL Server中執行此操作,例如擴展我的SP以返回更少但「更寬」的行,列數更多?
另一個複雜因素是一個檢測可能有另一個缺少的行,在這種情況下,解決方案是添加一個空值或' - '。
P.S.這是使用Sql Server 2012.
使用'pivot',它會完成這項工作 – Shaharyar