Я пытаюсь открутить некоторые данные из столбца Vendor
в этой таблице, создавая новые столбцы для каждого из моих поставщиков. В идеале у меня было бы 1 строка для каждого ContractDate
, а затем 2 значения. Тем не менее, я заканчиваю 2 рядами отличного ContractDate
.Неисправность Агрегация строк с SQL-заявлением
Я считаю, что мне может понадобиться какой-то запрос таблицы temp, чтобы сделать это ... я не уверен, хотя.
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' хранится в виде строки (и отформатирован таким образом), или это просто результат того, как вы написали запрос? Скорее всего, лучше переносить значения ввода строки (если они не являются датами) в функции преобразования даты, так что фактический столбец данных не будет преобразован в строку (потенциально для каждой строки). –