唱的情况在哪里

时间:2016-10-16 01:20:15

标签: mysql sql

我有一个包含2列的表,每列都有一组ID。我想在表中添加第三列,如果第1列中的数字也存在于第2列中,则表示“true”。 如果没有,那么第三栏应该说“假”

我正在尝试使用以下代码

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

但案件和地方不合作。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分: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