Hello, RobinHood!
You wrote on Wed, 01 Feb 2012 14:18:20
> допустим: > event_id 2 это первый тип; > event_id 29 это второй тип; > все остальные event_id (не 2 и не 29) ето третий тип. > мне нужно получить в таблицу сумму count-ов по каждому типу
SUM(CASE WHEN event_id = 2 THEN count END),
SUM(CASE WHEN event_id = 29 THEN count END),
SUM(CASE WHEN event_id NOT IN (2, 29) THEN count END)
зы: а в твоем сервере клауза COUNT
разве не зарезервированное слово?
Здравствуйте, Alex.Che, Вы писали:
AC>Hello, RobinHood! AC>You wrote on Wed, 01 Feb 2012 14:18:20
>> допустим: >> event_id 2 это первый тип; >> event_id 29 это второй тип; >> все остальные event_id (не 2 и не 29) ето третий тип. >> мне нужно получить в таблицу сумму count-ов по каждому типу
AC>
AC>SUM(CASE WHEN event_id = 2 THEN count END),
AC>SUM(CASE WHEN event_id = 29 THEN count END),
AC>SUM(CASE WHEN event_id NOT IN (2, 29) THEN count END)
AC>
AC>зы: а в твоем сервере клауза COUNT AC>разве не зарезервированное слово?
AC>-- AC>With best regards, Alex Cherednichenko.
RH> допустим: RH>event_id 2 это первый тип; RH>event_id 29 это второй тип;
RH>все остальные event_id (не 2 и не 29) ето третий тип.
RH>мне нужно получить в таблицу сумму count-ов по каждому типу
RH>первый тип , второй тип , третий тип RH>20 22 , 11
CREATE TABLE #NAIMABS ([ID_R] INT IDENTITY(1,1)
,[event_id] INT
,[cnt] INT
)
INSERT INTO #NAIMABS
SELECT 2,10
INSERT INTO #NAIMABS
SELECT 2,10
INSERT INTO #NAIMABS
SELECT 5, 8
INSERT INTO #NAIMABS
SELECT 29, 15
INSERT INTO #NAIMABS
SELECT 29, 7
INSERT INTO #NAIMABS
SELECT 7 , 3
SELECT CASE WHEN [event_id]=2 THEN 1
WHEN [event_id]=29 THEN 2
ELSE 3 END AS TYP
,SUM([cnt])
FROM #NAIMABS
GROUP BY CASE WHEN [event_id]=2 THEN 1
WHEN [event_id]=29 THEN 2
ELSE 3 END