SQL, чтобы найти идентификаторы, у которых никогда не было значения столбца - PullRequest
1 голос
/ 06 августа 2020

Ниже приведены мои данные:

ID | request_type
---+-------------
1  | 3
1  | 2
1  | 1
1  | 4
1  | 5
2  | 3
2  | 2
3  | 4
3  | 2

Мне нужен запрос для получения идентификаторов, для которых никогда не было типа запроса 1 ( например, 2,3 из предыдущей таблицы).

Ответы [ 3 ]

2 голосов
/ 06 августа 2020

С условным агрегированием:

select id
from tablename
group by id
having count(case when request_type = 1 then 1 end) = 0
1 голос
/ 06 августа 2020

Если 1 - наименьшее возможное значение:

select ID
from tab
group by ID
having min (request_type) > 1

Или более обобщенное c:

select ID
from tab
group by ID
having max(case when request_type = 1 then 1 else 0 end) = 0
1 голос
/ 06 августа 2020
SELECT DISTINCT `ID`
FROM `my_table`
WHERE `ID` NOT IN (
  SELECT DISTINCT `ID`
  FROM `my_table`
  WHERE `request_type` = 1
)
...