T-SQL - использование GROUP BY GROUPING SET - фильтрация одного набора - PullRequest
0 голосов
/ 14 декабря 2018

в этом утверждении

from 
    #base U     
    group by grouping sets 
    (
     (a,b,c,d)  --1
    ,(a,b,c,d,e,f) --2 
    ,(a,b,c,d,e,f,g) --3
    ) 

возможно в одном наборе фильтр до агрегирования?

(a,b,c,d,e,f) where b <> 0

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Может быть, вы можете попробовать это.

select ... 
from #base U     
group by grouping sets 
((a,b,c,d), (a,b,c,d,e,f,g)) 
union all 
select ... 
from #base U
where b<>0     
group by a,b,c,d,e,f 

Надеюсь, что это поможет вам.

С наилучшими пожеланиями,

Рейчел

0 голосов
/ 14 декабря 2018

Подход может состоять в том, чтобы поместить (a, b, c, d, e, f) группировку с фильтром как отдельный запрос, а затем использовать UNION для объединения результатов.

...