Вы можете сделать это с NVL()
.Перепишите запрос, чтобы он возвращал «Y», если запись существует.Выберите 'Y'
из DUAL
и используйте для этого EXISTS
.Если такой строки не существует, результатом подзапроса будет NULL
, а NVL()
превратит NULL
в 'N'
.
NVL((SELECT 'Y'
FROM DUAL
WHERE EXISTS (SELECT *
FROM STATUS_CODE
WHERE CODE IN (....))),
'N')
Более подробную версию, которая также будет работать вмногие другие СУБД могут использовать CASE
и снова EXISTS
.WHEN
таких строк существует, 'Y'
будет возвращено, ELSE
'N'
.
CASE
WHEN EXISTS (SELECT *
FROM STATUS_CODE
WHERE CODE IN (...))
THEN 'Y'
ELSE
'N'
END