Я пытаюсь использовать оператор case, но продолжаю получать ошибки.Вот утверждение:
select TABLE1.acct,
CASE
WHEN TABLE1.acct_id in (select acct_id
from TABLE2
group by acct_id
having count(*) = 1 ) THEN
(select name
from TABLE3
where TABLE1.acct_id = TABLE3.acct_id)
ELSE 'All Others'
END as Name
from TABLE1
Когда я заменяю TABLE1.acct_id в выражении THEN на буквальное значение, запрос работает.Когда я пытаюсь использовать TABLE1.acct_id из части запроса WHEN, я получаю сообщение об ошибке, говорящее о том, что результатом является более чем одна строка.Кажется, что выражение THEN игнорирует единственное значение, которое использовал оператор WHEN.Понятия не имею, может быть, это даже недопустимое использование оператора CASE.
Я пытаюсь увидеть имена для учетных записей, которые имеют одну запись в TABLE2.
Любые идеи приветствуютсяЯ новичок в SQL.