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