我有一個包含3列的表。該表在一定日期存儲一個國家的人口。簡單的例子,使用數據透視表重構表中的數據並處理空值
cen_date country population
2010 US 50
2010 Ger 10
2010 UK 5
2011 US 55
2011 Ger 15
2011 UK 10
2011 China 100
我想什麼做的是有像下面的表格,
2010 2011
US 50 55
Ger 10 15
UK 5 10
China NULL 100
所以,你會發現,有在2010年是中國沒有數據,但我還是會喜歡這個包括在上面的表中,但是作爲NULL。
更新
通過一點線索和錯誤的查詢低於現在的作品
select *
from
(
select country, cen_date , population
from Country_Pop
) org
pivot
(
max(population)
for cen_date in ([2009-01-01], [2010-01-01], [2011-01-01])
) piv;
不能完全確定這一工作,雖然這是爲什麼。我想我必須首先創建一個不同國家的列表,但是猜測它必須與max和pivot函數有關?
是的,謝謝我發佈的查詢給了我一直在尋找的結果 – mHelpMe 2015-03-25 17:18:20