0

我不确定如何做到这一点。我有三个表成员表,其中包含 238871 个成员作业表,其中包含 7713 个条目交易表和 231142 个条目

如果我取 238871 个成员减去交易表中的内容,我会得到 7729 的差异。在工作表中,我有 7713 个条目,因此成员表中有 16 个下落不明。所有的贸易都在工作和成员表中。但在成员中,有 16 人不在工作和贸易领域。

我如何定义这 16 个成员?谢谢

4

1 回答 1

2

实际上, aleft join为您提供jobsortedusers. 那么里面的所有东西members也在里面jobsortedusers

听起来您要么想颠倒左外连接的顺序,而是这样做:

select * 
  from membership.members as mm
  left outer join jobsorted.jobsortedusers as js
    on mm.memberid = js.memberid

这会让你把所有东西都放进去members,然后里面的所有东西jobsortedusers也放进去members。正如您所说,每个用户也是成员,此查询将返回所有内容。

我强烈推荐阅读这篇文章,它很好地解释了连接


要回答您的新问题,您需要jobsortedusersid 为空的所有内容,即

select mm.* -- every other column will be null
  from membership.members as mm
  left outer join jobsorted.jobsortedusers as js
    on mm.memberid = js.memberid
 where js.memberid is null

我不知道要加入什么,trade但为了获得不在此表或您的用户表中的所有内容,您需要以下内容:

select mm.* -- every other column will be null 
  from membership.members as mm
  left outer join jobsorted.jobsortedusers as js
    on mm.memberid = js.memberid
  left outer join trade t
    on mm.memberid = t.memberid
 where js.memberid is null
   and t.memberid is null
于 2012-08-27T09:43:12.800 回答