【发布时间】:2012-07-08 11:04:27
【问题描述】:
我目前将此左连接作为查询的一部分:
LEFT JOIN movies t3 ON t1.movie_id = t3.movie_id AND t3.popularity = 0
麻烦的是,如果有几部电影同名同受欢迎(不要问,就是这样:-))然后返回重复的结果。
说了这么多,我想将左连接的结果限制为一个。
我试过了:
LEFT JOIN
(SELECT t3.movie_name FROM movies t3 WHERE t3.popularity = 0 LIMIT 1)
ON t1.movie_id = t3.movie_id AND t3.popularity = 0
第二个查询因错误而终止:
Every derived table must have its own alias
我知道我要问的内容有些模糊,因为我没有提供完整的查询,但我要问的内容通常可能吗?
【问题讨论】:
-
那是最后一个左连接,对吧?你不会去
LEFT JOIN ... ON ... AND ... LEFT JOIN ...是吗?声明末尾的LIMIT 1不是您想要的吗? -
看看
DISTINCTstatement,也许可以解决你的问题。 -
@jared - 它是查询中的最后一个
LEFT JOIN,是的。前面还有两个。但是,我不能只在最后加上LIMIT 1,因为查询作为一个整体返回了很多行。 -
这能回答你的问题吗? MySQL JOIN the most recent row only?