使用2个表的SQL IF语句或标志

使用2个表的SQL IF语句或标志,sql,if-statement,multiple-tables,Sql,If Statement,Multiple Tables,我有两个表(一个主表和一个辅助表),每个表上都有ID#。有些ID出现在两张表上,有些则没有。我需要标记/new字段(命名为两者),显示ID#是否出现在补充表和主表上 ID# | Fruit 1 | apple 2 | peach 3 | orange 4 | pear 我是SQL新手,知道IF语句,但在使用超过1个表的情

我有两个表(一个主表和一个辅助表),每个表上都有ID#。有些ID出现在两张表上,有些则没有。我需要标记/new字段(命名为两者),显示ID#是否出现在补充表和主表上

ID#   | Fruit                       
1     | apple                        
2     | peach                       
3     | orange
4     | pear
我是SQL新手,知道IF语句,但在使用超过1个表的情况下使用它并没有太大成功

ID#   | Fruit                       
1     | apple                        
2     | peach                       
3     | orange
4     | pear
主表

ID#   | Fruit                       
1     | apple                        
2     | peach                       
3     | orange
4     | pear
补充表格

ID#   | Fruit                       
1     | apple                        
2     | peach                       
3     | orange
4     | pear
ID#    | Fruit
 3     | orange
 4     | pear
任何帮助都将不胜感激!
-Newb

您可以在补充表的ID上使用
左联接
,然后使用
大小写
表达式:

ID#   | Fruit                       
1     | apple                        
2     | peach                       
3     | orange
4     | pear
SELECT    m.id, 
          m.fruit,
          CASE WHEN s.id IS NOT NULL THEN 'yes' ELSE 'no' END AS both
FROM      main m
LEFT JOIN supplementary s ON m.id = s.id

您使用的是哪个版本的SQL?您使用的是哪个DBMS?您的预期输出是什么?我使用的是SQL Server 2014 Management Studio。expect结果是一个新字段,simple有一个Y或No(1或0)标题为'Both',因此当我查找特定ID#时,我知道它在两个表上。