【发布时间】:2016-11-23 19:05:12
【问题描述】:
我想要一个从 tableA 中选择 all 记录且不选择其他记录的查询。但是,我希望我的查询包含一列,表明 tableB 中存在 1 条或多条记录。
LEFT OUTER JOIN tableA to tableB 不起作用,因为如果 tableB 中有 2 条记录与 tableA 中的记录相关,我会在结果集中得到 2 条记录。我只想要 1 个。
RIGHT OUTER JOIN 不起作用,因为我的查询返回 tableB 中与 tableA 中的任何记录都不匹配的所有记录。我不想从 tableB 中获取与 tableA 中至少 1 条记录不匹配的记录。
INNER JOIN 也失败了,因为我没有得到 tableA 中的 all 记录;只有那些在 tableB 中包含匹配记录的那些。
好像我需要这样的查询:
SELECT tableA.ID, IF EXISTS row in tableB THEN 1 ELSE 0
FROM tableA <some sort of join> tableB on tableA.ID = tableB.FKtoTableA
【问题讨论】:
标签: sql-server tsql