2014-02-20 1 views
0

이 쿼리를 작성하는 가장 효율적인 방법을 찾고 있습니다 ...별개를 선택하고 가입 하시겠습니까?

테이블 X에서 고유 한 ID가 필요합니다. 테이블 Y에서, 나는

SELECT y.text 
    FROM Y 
    WHERE y.id IN (SELECT DISTINCT (x.id) 
         FROM x) 

내가 약 게시물의 몇 가지 살펴 보았다 정말 느린

SELECT DISTINCT (x.id) 
    FROM x 

SELECT y.text 
    FROM Y 
    WHERE x.id = y.id 

나는 내가 같은 것을 할 수있어 그 식별자로 이동 텍스트 만 필요 조인하지만 나는 그들에 익숙하지 않다. 구루 (Gurus)가이 일을 어떻게 수행해야하는지 알려주고 싶습니다. 고맙습니다.

+0

시도 오프 ['그룹은 BY'] (https://dev.mysql.com/doc/refman/5.5/en/select.html는) – miken32

+0

봅니다'EXISTS '함수. –

답변

2
Select y.text from y inner join 
    (Select x.id from x 
    group by x.id) x 
on x.id = y.id 
+0

감사합니다. 매력처럼 작동했습니다. – user1747876

0

어떻게 작동합니까? 완전히 내 머리 위로 ...

SELECT x.id, y.text FROM x LEFT JOIN y USING (id) GROUP BY x.id; 
관련 문제