2012-08-27 137 views
0

我不知道如何做到這一點。 我有三個表成員表成員238871工作 表7713項 貿易表,並與231142項一桌減去另一個

,如果我拿238871件減什麼是在貿易表我得到的7729.在工作表中的差異我有7713個條目,因此在成員表中有16個下落不明。所有的交易都在工作和成員表中。但在會員那裏有一個不在工作和貿易中的16人。

如何定義這16位成員? 感謝

回答

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 
+0

第二個查詢給我的16個未記帳的成員,正是我所需要的,謝謝 –