0
У меня возникла проблема, и я не могу понять, как исправить этот запрос. У меня есть временная таблица, один из столбцов должен содержать вычисленное значение другого столбца, деленное на сумму групп этого столбца. Я не знаю, как написать это, чтобы избежать ошибки.Обновление: подзапрос вернул более 1 значения
Declare @Temp Table
(
ZipCode char(5) Not Null,
StateFacilityId varchar (50) Not Null,
Cnt int Not Null,
MarketShare float,
Row int Not Null,
Primary Key Clustered (ZipCode, StateFacilityId)
);
Insert Into @Temp (ZipCode, StateFacilityId, Cnt, Row)
Select d.ZipCode, d.StateFacilityId, Cnt = COUNT(*), Row = ROW_NUMBER()OVER(PARTITION BY ZipCode ORDER BY Count(*) DESC)
From [MarketShareIQData].[dbo].[tblServicesDetail] d
Group By d.ZipCode, d.StateFacilityId
;
Update @Temp
Set MarketShare =(h.Cnt/(
Select SUM(h.Cnt)
From @Temp h
Group By ZipCode
))
From @Temp h
Я думаю, что хочу группу, я хочу, чтобы знаменатель был суммой подсчетов всех строк с одним и тем же почтовым индексом. – eshepard