Написать SQL-запрос, удовлетворяющий требованиям

Рейтинг: 0Ответов: 1Опубликовано: 30.01.2023

Как написать 3 запроса, чтобы каждый вывел бы:

  1. CLIENT, для которых значения FILTERVALUE различны.
  2. CLIENT, для которых значение FILTERVALUE заполнено.
  3. CLIENT, для которых значение FILTERVALUE не заполнено.

введите сюда описание изображения

Ответы

▲ 1Принят

Пример:

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 - не заполнено