选择不同并加入?

时间:2014-02-20 21:03:19

标签: mysql sql

我正在寻找编写此查询的最有效方法......

从表X中,我需要一系列独特的ID。 从表Y中,我需要转到那些ID的文本

SELECT DISTINCT ( x.id )
    FROM x

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

我知道我可以做这样的事,但真的很慢

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

我看了一些关于加入的帖子,但我对它们并不熟悉。你们中的任何一位大师都想告诉我应该怎么做,我很感激。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是如何工作的?完全脱离了我的头顶......

SELECT x.id, y.text FROM x LEFT JOIN y USING (id) GROUP BY x.id;
相关问题