#select #plsql #where-clause #oracle12c #select-into
Вопрос:
Values Id's
1 120
1 120
0 120
0 120
0 120
Not applicable 120
Not applicable 120
Empty 120
Я хотел выбрать количество значений 1 в другой переменной и количество 0 в другой переменной с помощью одного оператора select. Возможно ли это ?
Ответ №1:
Возможно? Конечно, вот один из вариантов. Примеры данных в строках № 1-10; запрос, который вы можете использовать, начинается со строки № 11.
SQL> with test (value, id) as
2 (select 'n/a' , 120 from dual union all
3 select 'n/a' , 120 from dual union all
4 select 'empty', 120 from dual union all
5 select '1' , 120 from dual union all
6 select '1' , 120 from dual union all
7 select '0' , 120 from dual union all
8 select '0' , 120 from dual union all
9 select '0' , 120 from dual
10 )
11 select sum(case when value = '1' then 1 else 0 end) cnt_1,
12 sum(case when value = '0' then 1 else 0 end) cnt_0
13 from test;
CNT_1 CNT_0
---------- ----------
2 3
SQL>