我不确定如何做到这一点。 我有三个表成员表,有238871个成员 有7713个条目的工作表 交易表和231142条目
如果我采取238871成员减去交易表中的数据,我得到7729的差异。在工作表中我有7713个条目,因此在成员表中有16个未计入。所有的交易都在工作和会员表中。但在会员中有一个不在工作和交易中的16。
如何定义这16名成员? 感谢
答案 0 :(得分:2)
实际上,left 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
中。正如你所说,每个用户也是一个成员,这个查询会返回你的所有内容。
我强烈建议您阅读this, which explains joins very well。
要回答您的新问题,您需要jobsortedusers
id为空的所有内容,即
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