[SQL] GROUP BY

vladi1

Вопрос по оператору GROUP BY:
Что надо добавить в SELECT, чтобы при отсутствии данных в GROUP BY возвращалась строка(строки) из нулей, а не пустая?
Т.е..:
select a, b, sum(a+b) from
(
select 1 a, 1 b from dual
)
group by a, b
-------------------------------------
a b sum(a+b)
1 1 2
Но:
select a,b,sum(a+b) from
(
select 1 a, 1 b from dual
)
where b=2
group by a,b
-------------------------------------
a b sum(a+b)
А хотелось бы:
-------------------------------------
a b sum(a+b)
0 0 0
Понятное дело, что GROUP BY нечего группировать, но может NVL(...,0) куда запихнуть...платформа Oracle 9i

zya369


select coalesce(a,0) as a1,coalesce(b,0) as b1, sum(a1 + b1)


?
ЗЫ зачем там sum ?

vladi1

ну это так...для примера...нужен SUM...

zya369

в общем coalesce решает

vladi1

Ок, спасибо, но я воспользовался
begin
...
exception
when others then ...
Тормозил сначала:)
Оставить комментарий
Имя или ник:
Комментарий: