Вероятно, существует более одного решения для этого. Иногда существует связь между двумя таблицами. Затем я создаю JOIN и обрабатываю его в предложении WHERE. Я не знаю Teradata, но в Oracle я также могу сделать что-то вроде этого.
SELECT foo
FROM mydb
WHERE (select count(*) from somedb where x.bar > 0) > 0
или, может быть, больше похоже на ваш код
select foo,
(case when (select count(*)
from somedb x
where x.bar > 0) > 0
then '1' else '0') as MyFlag
from mydb
Я знаю, что использовать EXISTS только в предложении WHERE "Я хочу только те строки, в которых следующий SELECT дает мне что-то". Это имеет смысл, только если между одной и другой таблицей есть какая-то связь.
select id,foo from mydb y
where exists (select x.id from somedb x where x.id = y.id)