2016-02-10 6 views
0

У меня есть две таблицы темпа (ниже), первая отметка одно из пяти условий. Второй вытягивает из этой таблицы и делает сумму и счет на основе условия. Как я могу заставить вторую таблицу работать с этим или подобным образом?sql select statement select sum где

select ID 
    ,sum_value  
    ,condition_field 
    ,'condition_1' = case when condition_type in (1,2) then 1 else 0 end 
    ,'condition_2' = case when condition_type in (3,4) then 1 else 0 end 
    --etc... 
into #temp  
from my_table 

select ID 
    ,sum_value 
    ,'1_amt' = SUM(sum_value) from #temp where condition_1 = 1 
    ,'1_cnt' = COUNT(ID) from #temp where condition_1 = 1 
    ,'2_amt' = SUM(sum_value) from #temp where condition_2 = 1 
    ,'2_cnt' = COUNT(ID) form #temp where condition_2 = 2 
from #temp 
+0

Это даже работает? –

+0

Что это такое, MySQL или SQL Server? Вы не можете использовать тот же код в обоих случаях. –

+0

Первый запрос, однако второй нет, я получаю синтаксическую ошибку после подпрограммы '1_amt' – waterguard

ответ

1

Вы хотите что-то более, как это:

SUM(CASE WHEN condition_1=1 THEN sum_value ELSE 0 END) AS 1_amt