このテーブルの列から一部のデータをピボットしてVendor
、ベンダーごとに新しい列を作成しようとしています。理想的には、それぞれContractDate
に 1 つの行を持ち、次に 2 つの値を持ちます。ただし、2行の個別のContractDate
.
これを行うには、ある種の一時テーブルクエリが必要になる可能性があると思います...よくわかりません。
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