阻止JOINING查找表返回更多记录?

时间:2013-11-21 20:11:11

标签: sql-server join

我遇到了问题。我的查找表生成的记录比原始查询多...

我觉得我错过了一些基本的东西。如何通过从第二个表中引入一两列来防止结束更多记录?

-- 140930
SELECT COUNT(ID)
FROM dbo.USER_ACCOUNTS AS A 

-- 143324
LEFT JOIN dbo.DOMAIN AS B 
ON A.Domain = B.DOMAIN

正如您所看到的,我的计数在加入后增长到143324。我也尝试过外连接。只有150个左右的域名可以加入。有些甚至不应该在结果中,因为不应该找到域匹配!?

这是SQL SERVER 2008 R2

|感谢|

1 个答案:

答案 0 :(得分:1)

SELECT COUNT(ID)
FROM dbo.USER_ACCOUNTS AS A 
WHERE EXISTS (
  SELECT 1
  FROM dbo.DOMAIN AS B
  WHERE A.Domain = B.DOMAIN
)