我有一个这样的SQL语句:
$sql = "SELECT *, films.category AS filmCategory FROM films LEFT OUTER JOIN items ON items.unique = films.ref ORDER BY unique ASC LIMIT 0, 4";
那行不通。它无需
ORDER BY
和LIMIT
部分即可工作,如下所示:$sql = "SELECT *, films.category AS filmCategory FROM films LEFT OUTER JOIN items ON items.unique = films.ref";
我似乎找不到增加
ORDER BY
和LIMIT
来仅从films
表中获取前4个项目的方法。之后,仅应从连接的表中从这四个项目的另一个表中获取更多信息。如何以正确的方式完成? 最佳答案
如果要限制特定的表,则必须使用子查询。
SELECT *, films.category AS filmCategory
FROM (SELECT *
FROM films
ORDER BY ref ASC
LIMIT 4) films
LEFT OUTER JOIN items
ON items.`unique` = films.ref
ORDER BY `unique` ASC