여기에있는 것 : 두 개의 테이블이 있습니다. 하나는 웹 사이트가있는 고객을 포함하고 다른 테이블은 고객의 optionnal 웹 사이트를 포함합니다.SQL 합병 2 결과 하나
이TABLEA :
cust_id cust_website
1 [email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected]
...
TableB의
cust_id cust_optionnalWebsite
3 [email protected]
4 [email protected]
...
내가 좋아하는 것이 테이블 예를 들어
에서 dupplicate 웹 사이트가있는 경우
내가 알고 싶은 tabl에 모든 dupplicate 웹 사이트를 가지고있다. eA, 테이블 B 및 테이블 AB. 나는 또한 UNION을 교체 시도
SELECT cust_website FROM tableA WHERE cust_website IN (SELECT cust_optionnalWebsite FROM tableB UNION SELECT cust_website FROM tableA) GROUP BY cust_website HAVING COUNT(cust_website) > 1
하지만 UNION 문이 sooo를 많은 시간을 소요하고 분명 누락 뭔가 ... : 음, 모든 dupplicate에 ..
나는 이런 식으로 할 시작 OR 문을 사용하지만 tableA와 tableB에 동일한 웹 사이트가있는 경우 두 개의 결과가 아니라 한 개의 결과 만 가져옵니다.내가
이 도와주세요
웹 사이트
[email protected]
[email protected]입니다 원하는 출력,
편집 :
마지막으로이 작품 :
SELECT website FROM (SELECT cust_optionnalWebsite as website FROM tableB UNION ALL SELECT cust_website as website FROM tableA) GROUP BY website HAVING(website)>1;
쿼리가 너무 오래 걸릴 경우 인덱스 – Jens
으로 최적화하려고합니다. 원하는 출력을 표시 할 수 있습니까? –
내가 원하는 출력을 추가했습니다. –