У меня есть следующий запрос:Oracle SQL: GROUP BY HAVING многокритериальному
SELECT PERSON_ID
FROM TABLE
WHERE YEAR > 2013
AND ACTION = 'TERM'
GROUP BY PERSON_ID
HAVING COUNT(ACTION) = 1
Этот запрос возвращает PERSON_IDs одним TERM
действием среди других действий.
Как я могу изменить мое предложение HAVING
, чтобы вернуть запрос PERSON_IDs с одним действием TERM
и никаких других действий? Я попытался переместить AND ACTION = 'TERM'
ниже линии HAVING
, но, поскольку в этой строке нет операции GROUP BY
, я получаю сообщение об ошибке.
Пожалуйста показать [mcve] – OldProgrammer
Может 'ACTION' быть' null'? И если да, то какой желаемый результат из запроса - если у человека есть ровно две строки, одна с 'ACTION = 'TERM'', а другая с' ACTION =' ''(' null'), если это лицо выбран или нет? – mathguy