2016-10-16 4 views
0

У меня есть таблица с 2 столбцами, каждая из которых имеет набор ID. Я хочу добавить третий столбец в таблицу, который говорит «true», если число в столбце 1 также присутствует в столбце 2. Если нет, то третий столбец должен сказать «ложное»sung case with where

Я пытаюсь использовать следующий код

case when 
where Id (SELECT P_id FROM Tree) 
then True 
else false 
end 
as Type 

но дела и где не работают вместе. Может кто-нибудь мне помочь?

ответ

0

Попробуйте этот путь

SELECT CASE 
     WHEN EXISTS (SELECT 1 
         FROM tree t2 
         WHERE t1.id = t2.P_id) THEN 'true' 
     ELSE 'false' 
     END AS Type 
FROM tree t1 

Другой способ, используя LEFT JOIN

SELECT CASE 
     WHEN t2.p_id IS NOT NULL THEN 'true' 
     ELSE 'false' 
     END 
FROM tree t1 
     LEFT JOIN (SELECT DISTINCT p_id 
        FROM tree) t2 
       ON t1.id = t2.p_id