2016-10-16 50 views
0

我有一個2列的表,每列有一組ID。我想在表格中添加第三列,如果第2列中的數字出現在列2中,則表示「真」。 如果沒有,那麼第三列應該說是「假」唱歌的情況下,其中

我嘗試使用下面的代碼

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

但案件和其中沒有一起工作。 有人可以幫助我嗎?

回答

0

嘗試使用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 
這樣

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 

另一種方式