Что ж, это не красиво, но вы можете объединить таблицу поиска вместе с SELECT
и UNION
в подзапросе, а затем присоединиться к ней из вашего EXISTS
запроса.
Setвверх действительно хромой таблицы:
create table tbl (value integer);
insert into tbl
select 1;
Затем запрос:
select
a.answer
from
(select exists(select 1 from tbl where value = 3) as value) as e
join
(select 1 as value, 'yes' as answer
union
select 0, 'no'
) as a
on
a.value = e.value
В этом случае таблица tbl
имеет только одну строку и один столбец, который содержит 1
, поэтому EXISTS
возвращает 0
, а внешний запрос возвращает no
.
Вот SQL Fiddle: http://www.sqlfiddle.com/#!9/a4f9ef/2/0