我有一張如下所示的表格,我希望將行轉置爲列,但我希望每個month_product都有列。如何在多個條件下使用SQL Server Pivot
我知道我可以使用SUM(CASE)每個產品類型和一個月,如:
SUM(CASE WHEN Month='July' AND Product='Prod1'THEN Revenue END)
不過,我想用樞軸(聽說它的效率更高)。我一直在尋找如何使用樞軸,但我似乎能夠找到的唯一的方法是如何簡單地將行移動到列,而不是將行組合到列。
有人可以讓我知道這是否可能,或者我必須堅持好的舊案例時的方法。
感謝,
從:
------------------------------------------------
|Month| Account| Product| Revenue|
------------------------------------------------
| July| Acct1 | Prod1 |1000
------------------------------------------------
| July| Acct1 | Prod2 |1000
------------------------------------------------
| Aug| Acct2 | Prod2 |1000
------------------------------------------------
到:
------------------------------------------------
|Account | July_Prod1| July_Prod2| Aug_Prod2
------------------------------------------------
| Acct1 | 1000 | 1000 |
------------------------------------------------
| Acct2 | - | - | 1000
------------------------------------------------
'pivot'不是更有效。語法糖。 –
噢,如果效率不高,那麼做的時候就容易多了,謝謝! – user2669043