Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
ВнизЗапрос Найти похожие ветки
← →
makz © (2008-03-01 12:17) [0]Есть таблица REG с полями ID, p и m (кроме прочих). Поля p и m могут принимать значения 0 или 1. Запрос
select case m when 0 then "M-" else "M+" end || case p when 0 then "П-" else "П+" end as CC, count(*)
from REG
group by m, p
выдает таблицу только для существующих в базе комбинаций значений m и p, например:
count CC
2 M+П+
1 M+П-
а нужно всегда получать таблицу с 4мя строками:
count CC
2 M+П+
1 M+П-
0 M-П+
0 M-П-
Как этого добится, пусть даже с ХП? Помогите пожалуйста!
← →
www (2008-03-01 22:21) [1]select sum(cnt), cc from(
select count(*) as cnt, case m when 0 then "M-" else "M+" end || case p when 0 then "П-" else "П+" end as CC
from reg
group by m, p
union all
select 0, "M+П+" from rdb$database
union all
select 0, "M+П-" from rdb$database
union all
select 0, "M-П+" from rdb$database
union all
select 0, "M-П-" from rdb$database
)
group by cc
← →
palva © (2008-03-01 23:36) [2]
select "Ì-Ï-" CC, count(*) from table3 where m=0 and p=0
union
select "Ì-Ï+" CC, count(*) from table3 where m=0 and p<>0
union
select "Ì+Ï-" CC, count(*) from table3 where m<>0 and p=1
union
select "Ì+Ï+" CC, count(*) from table3 where m<>0 and p<>0
← →
makz © (2008-03-03 08:41) [3]спасибо!
← →
makz © (2008-03-03 09:48) [4]Только вот проблема - есть еще один атрибут GDU, отчет нужен в 3 колонки:
GDU1 GDU2 CC
2 3 M+П+
1 4 M+П-
0 0 M-П+
0 1 M-П-
Тут только вложенный select поможет?
← →
Johnmen © (2008-03-03 10:24) [5]
> еще один атрибут GDU
Что за атрибут и как он используется, мы должны, как обычно, догадаться сами?
← →
makz © (2008-03-03 10:32) [6]Просто еще одно поле integer в REG, в случае если оно принимает значение 41 - результат попадает в GDU1 отчета, при значении 42 - в GDU2, в остальных случаях запись отбрасывается.
← →
Johnmen © (2008-03-03 11:05) [7]Вместо COUNT в [2]:
SUM(CASE WHEN GDU=41 THEN 1 ELSE 0 END) AS GDU 1
← →
makz © (2008-03-04 04:08) [8]Понял, спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c