#sql #aggregate-functions #having-clause #nested-queries
#sql #агрегатные функции #наличие-предложение #подзапрос
Вопрос:
как указано в заголовке, an NotPrimID
, может иметь два разных значения Example 1
и Example 2
"ExampleTable"
NotPrimID Text
0 "Example 1"
0 "Example 1"
0 "Example 2"
1 "Example 1"
1 "Example 1"
2 "Example 1"
2 "Example 2"
ЕСЛИ: если NotPrimID
имеет оба значения, оно должно быть автоматически исключено из результата запроса.
Что я хочу: запрос, который будет удалять все NotPrimID
, что в результате имеет только «Пример 1», однако, если NotPrimID
в качестве возможного результата также есть «Пример 2», он должен быть автоматически исключен.
Вопрос: Как исключить определенные NotPrimID
, если у него есть дополнительные значения?
Ответ №1:
Вы можете использовать group by
и having
:
select notprimid
from exampletable
group by notprimid
having min(text) = max(text) and min(text) = 'Example1'
Это возвращает все notprimid
s, которые имеют только один distinct text
, значение которого должно быть 'Example1'
.
Комментарии:
1. Работает фантастически — Спасибо!