2013-03-19 28 views
-1

我有一張製造商和訂單的表,我需要找到2011和2012年每個製造商的訂單數量。我可以獲取信息,但我需要三個專欄,製作,2011年的訂單和2012年的訂單。我被告知我可以使用工會加入,但我無法想象它爲我的生活。有任何想法嗎?謝謝。使用SQL服務器中的聯合連接拆分列

+0

請註明的數據庫產品,您使用。 – Claude 2013-03-19 10:27:20

+0

你可以更清楚地提供rdbms使用,表結構與樣本數據,也預期的結果.... – Aspirant 2013-03-19 10:33:22

回答

1

你沒有提供很多細節,但它聽起來像你想樞軸從行到列的數據。如果是這樣,那麼你可以使用聚合函數與CASE表達的數據進入列:

select manufacturer, 
    sum(case when datepart(year, orderdate) = 2011 then 1 else 0 end) Orders_2011, 
    sum(case when datepart(year, orderdate) = 2012 then 1 else 0 end) Orders_2012 
from yourtable 
group by manufacturer 

這將在以下格式創建數據:

Manufacturer | Orders_2011 | Orders_2012 
Comp1  | 100   | 78 
+0

這工作完美!非常感謝。我最初使用Select Make,Count(make)'Orders', FROM Table Where datesor In('2012','2011') Group by Make; 我被告知要在這裏加入工會。 – user2186028 2013-03-19 10:40:30