0

次のような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次のように、 andLIMITの部分がなくても機能します。

$sql = "SELECT *, films.category AS filmCategory FROM films LEFT OUTER JOIN items ON items.unique = films.ref";

テーブルから最初の 4 つの項目のみを追加ORDER BYして取得する方法が見つからないようです。結合された部分は、後でこれら 4 つの項目の別のテーブルからさらに情報を取得することになっています。それはどのように正しい方法で行われますか?LIMITfilms

4

1 に答える 1

2

特定のテーブルを制限したい場合は、サブクエリを使用する必要があります。

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
于 2013-06-18T21:47:30.123 に答える