Написать SQL-запрос, удовлетворяющий требованиям
Как написать 3 запроса, чтобы каждый вывел бы:
- CLIENT, для которых значения FILTERVALUE различны.
- CLIENT, для которых значение FILTERVALUE заполнено.
- CLIENT, для которых значение FILTERVALUE не заполнено.
Ответы (1 шт):
Автор решения: ValNik
→ Ссылка
Пример:
insert ALL
into table1 (client,filtervalue) values (1,'192.168.0.1')
into table1 (client,filtervalue) values (1,'192.168.0.2')
into table1 (client,filtervalue) values (2,'192.168.0.1')
into table1 (client,filtervalue) values (3,'192.168.0.1')
into table1 (client,filtervalue) values (1,null)
into table1 (client,filtervalue) values (3,null)
select 1 from dual
;
select client
,case when max(filtervalue)<>min(filtervalue) then 'V' end p1
,max(case when filtervalue is not null then 'V' end )p2
,max(case when filtervalue is null then 'V' end )p3
from table1
group by client
order by client
Результат:
| CLIENT | P1 | P2 | P3 |
|---|---|---|---|
| 1 | V | V | V |
| 2 | null | V | null |
| 3 | null | V | V |
P1 - различные значения
P2 - заполнено
P3 - не заполнено
