2012-08-28 4 views
0

인터넷을 검색했지만 찾을 대상을 찾을 수 없습니다. 검색 대상을 모르기 때문에 그럴 수 있습니다.여러 테이블에서 중복되지 않은 레코드 찾기

내 문제는 다음과 같이 내가 두 개의 테이블이있는 경우

tableA 
---------------------- 
code ip 
1  111.168.1.2 
2  111.222.333.333 
3  111.168.1.2 
4  111.234.2.44 
5  111.23.455.44 

tableB 
---------------------- 
code ip     ISP 
1  111.222.333.333 newtwo 
2  111.168.2.2  anon 
3  111.333.453.567 def 
4  111.168.2.2  tele 
5  111.222.333.333 new 
6  111.333.544.3  ispnew 

무엇 내가이 나갈 것으로 예상입니다 ... 여러 테이블에서

말을 비 중복 레코드를 얻을 수

입니다 내가 지금처럼 함께 UNION, DISTICNT 및 DISTINCT와 UNION을 시도
ip 
111.234.2.44 
111.23.455.44 
111.333.453.567 
143.333.544.3 

,

ip 
111168.1.2 
111.222.333.333 
111.234.2.44 
111.23.455.44 
111.168.2.2 
111.333.453.567  
111.333.544.3 

이 하나 제발 도와주세요 7,303,210

그러나 다음과 같이 모든 값을에 고유 한 중복을 제공합니다, 나는 매우 많은 훌륭한 full..THANK YOU :) 될 것

답변

4

DISTINCT 모든 항목을 한 번만 제공하지만 중복 된 항목은 완전히 버리지는 않습니다. 당신은 그 없애 GROUP BY, COUNTHAVING을 사용하기 위해해야 ​​할 것들 :

SELECT 
    IP 
FROM 
    (
    SELECT IP FROM tableA 
    UNION ALL 
    SELECT IP FROM tableB 
) 
GROUP BY 
    IP 
HAVING 
    COUNT(*) = 1 
+0

초의 무리에 의해 저를 얻었다 '( –

+0

을 yessss..thankyou 아주 많이 !!!! 작동! ! :) 이것은 정확히 내가 뭘 찾고 있었는지 :) il은 3 분 안에 대답으로 받아 들였습니다. 내가 말하려고했을 때 말한 것이 었습니다. :) –

+0

안녕하세요 .. 괴롭히는 죄송합니다. 내가 속도를 낼 수 있을지 알고 있습니다. 이 과정까지 ... 나는 lyk 6000 기록이 일치해야하고 이것은 약간의 시간이 걸립니다 :) 한 무리 감사합니다 :) –

관련 문제