私は3つのテーブルを持っています:books、、。book_categoriescategories
book_categoriesテーブル「結合」booksとcategories。列が含まれています:id、、。book_idcategory_id
したがって、1冊の本が多くのカテゴリに属し、1つのカテゴリに多くの本が含まれる場合があります。
given_categoryに属する本を除くすべての本を取得するクエリが必要given_set_of_categoriesです。たとえば、カテゴリAのすべての本が必要ですが、カテゴリBまたはCにも属していない場合に限ります。また、結果をBook.inserted列で並べ替える(並べ替える)必要があります。
2つの結合ですべての本を取得する方法は知ってgiven_categoryいますが、結果として他のカテゴリから一部の本を除外する方法がわかりません。検索結果をページ分割しているため、PHPで本をフィルタリングできません。