Я делаю поворот и хочу сделать два агрегата для 2 разных полей, но поворот для одного и того же поля - PullRequest
1 голос
/ 13 января 2020

Я делаю Pivot и хочу сделать два агрегата для 2 разных полей, но для одного поля. Какие у меня варианты?

Например:

Select feild1, field2, field3, field4
From (select fld1, fld2, fld3, Field3, Field4 from tbl1) as ABC_Tbl
Pivot
(max(fld1) for Field3) as pvt1
(max(fld2) for Field3) as pvt2

1 Ответ

0 голосов
/ 13 января 2020

Я бы порекомендовал условную агрегацию:

select fld1,
       max(case when fld2 = 'a' then fld4 end) as fld2_a,
       . . . ,
       max(case when fld3 = 'a' then fld4 end) as fld3_a,
       . . . 
from tbl1
group by fld1
...