2010-06-26 2 views
0

mysql-listA와 listB (둘 다보기)에있는 두 개의 전자 메일 주소 목록을 비교하고 있습니다. 원래 listA에없는 listB에있는 모든 전자 메일 주소를 찾고 싶었습니다.mysql과 쿼리 로직 비교 문제

$comparison_query = mysql_query("SELECT DISTINCT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM listB) ORDER BY email_addresses"); 

지금, 나는 listB 또는 예외 테이블에없는 중고 장비 구매의 모든 이메일 주소를 찾으려면 : 나는 성공적으로 있음을 달성. 나는 이것을 시도했다 :

$comparison_query = mysql_query("SELECT email_addresses FROM listA WHERE email_addresses NOT IN (SELECT DISTINCT email_addresses FROM ((SELECT email_addresses FROM listB) UNION (SELECT email_addresses FROM exception))) ORDER BY email_addresses"); 

그러나 이것은 효과가 없다. 누구든지 내가 잘못 가고있는 것을 볼 수 있습니까?

감사합니다.

답변

1

사용 AND 대신 나를 위해 속임수를 썼는지

mysql_query("SELECT email_addresses FROM listA 
     WHERE email_addresses NOT IN 
     (SELECT DISTINCT email_addresses FROM listB) AND 
     email_addresses NOT IN 
     (SELECT DISTINCT email_addresses FROM exception)) 
     ORDER BY email_addresses"); 
+0

UNION의, 도와 주셔서 감사합니다! – littleK

1

나는 이런 식으로 뭔가 트릭을 할해야한다고 생각 :

SELECT email_addresses FROM listA 
WHERE email_addresses NOT IN 
(SELECT DISTINCT email_addresses FROM FROM listB) 
AND email_addresses NOT IN 
(SELECT email_addresses FROM exception);