2017-10-19 105 views
-2

已經相關的那些所有的記錄,因爲我不得不寫原始的MySQL查詢,並失去聯繫了一下它已經有一段時間。我在表MySQL的 - 除了選擇關係表中

Company  Client_Company 
ID NAME  CLIENT_ID COMPANY_ID 
-------  -------------------- 
1 X  10   1 
2 Y  12   1 
3 Z  36   3 

接下來的情況我的情況下並沒有真正涉及到客戶端,但我會用「客戶」爲不想進入解釋我在這裏使用的確切實體。

所以,想象一下,我可以通過客戶端編輯區域內的選擇框,公司與客戶關聯。我想要做的是,每下一個公司被分配到相同的客戶端時,該公司決不能出現在下拉列表中了。

所以基本上我需要從公司表中選擇的所有記錄,以用於與ID = 10,但不包括與公司ID的客戶端顯示爲可用的選項= 1(其已經被分配給客戶端10)。我會怎麼做?

回答

-1

這是一個簡單的排除聯接:

SELECT c.ID, c.NAME 
FROM Company AS c 
LEFT OUTER JOIN Client_Company AS cc ON c.ID=cc.COMPANY_ID AND cc.CLIENT_ID=10 
WHERE cc.COMPANY_ID IS NULL