2017-10-19 66 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