我試圖將一些數據從表中的Vendor
列轉出,爲我的每個供應商創建新列。理想情況下,我會爲每個ContractDate
分配1行,然後是2個值。但是,我最後得到了2行不同的ContractDate
。使用SQL語句彙總行時出現問題
我相信我可能需要某種臨時表查詢來做到這一點...我不確定。
SELECT [ContractDate],
CASE WHEN Vendor = 'AirDat'
THEN (sum(wf.Temppop)/sum(wf.Population)) END as 'AirDat',
CASE WHEN Vendor = 'CWG'
THEN (sum(wf.Temppop)/sum(wf.Population)) END as 'CWG'
FROM [ECPDB].[dbo].[weather.forecast] as wf
INNER JOIN ecpdb.[lookup].[newWeatherStation] as ws
ON wf.[Station_ID] = ws.[Station ID]
INNER JOIN ecpdb.[lookup].[CountyNew] as c
ON ws.[County FIPS] = c.[County FIPS]
WHERE tradedate = '7/2/2012'
AND [BENTEK Cell] = 'Northeast'
GROUP BY [ContractDate], vendor
您使用的是哪種數據庫平臺和版本? –
什麼是你的表結構... –
'tradeDate'是否真的存儲爲一個字符串(並以這種方式格式化),還是僅僅是你如何編寫查詢的結果?在日期轉換函數中包裝字符串輸入值(如果它們不是真正的日期)可能會更好,以便實際數據列不會轉換爲字符串(可能用於每行)。 –