2013-02-25 1 views
0

두 개의 목록 상자, listbox1 및 listbox2 및 DB, table1 및 table2에 두 개의 테이블이 있습니다. 두 표 모두 '색'이라는 열을 포함합니다. 내가 할 수있는 listbox1에서 table1의 모든 '색상'을 표시하고 싶습니다. 그러나 listbox2에서 Table2의 'Colors'를 표시하려고하지만 Table1 'Colors'에 표시되어서는 안됩니다. 그러면 쿼리를 작성하려면 어떻게해야합니까? 당신은 또한 사용할 수부정으로 두 테이블에서 표시 쿼리

SELECT Table2.Colour 
FROM Table2 
    LEFT JOIN Table1 ON Tabel1.Colour = Table2.colour 
WHERE Table1.Colour IS NULL 

을 : - multi-part identifier Tabel2.Colour could not be found

+0

@Brian이 편집 해 주셔서 감사합니다. – user2107976

답변

0

이것은 LEFT JOIN와 함께 작동합니다

SELECT Table2.Colour 
FROM Table1 CROSS JOIN Table2 
WHERE (Tabel1.Colour! = Table2.colour) 

오류 메시지는 다음과 같습니다

내가 노력하고 작동되지 않은 것입니다 NOT IN 또는 NOT EXISTS, 나는 단지 LEFT JOIN/ IS NULL 구문을 선호합니다. 예를 들어

: 당신은 다음과 같은 작업을 수행 할 수

SELECT Colour 
FROM Table2 
WHERE Colour NOT IN (SELECT Colour FROM Table1) 
+0

덕분에 많은 도움을주었습니다. 조언과 도움을 주셔서 대단히 감사합니다. – user2107976

+0

@ user2107976 - 아무런 문제가 없지만 기꺼이 도와 드리겠습니다! – sgeddes

+1

답으로 표시해주세요! – Brian

0

RDBMS의 버전이 EXCEPT 절을 구현하는 경우 :

SELECT Colour FROM Table2 
EXCEPT 
SELECT Colour FROM Table1 

나는이 가입보다 더 나은 것을 말하는 게 아니에요. 또 다른 옵션.

+0

괜찮아요.하지만 SQL Server 2008을 사용하고 있습니다. – user2107976

+0

저는 전문가가 아니지만 ** EXCEPT ** 인 것 같습니다. 지원 :

+0

안녕하세요, 감사합니다.하지만 더 많은 표를 사용하는 방법은 Table1, Table2의 선택 색상을 제외하고입니까? – user2107976

관련 문제