3 つのテーブル (「ニュース」、「カテゴリ」、結合テーブル「メタ」) があります。category_id
フィルターパラメーターとして提供されているものを含むニュースをフィルタリングしようとしています。以下の (および同様の) クエリを試しましたが、ニュース テーブルからすべてのニュースが返されます。
では、これらのニュースを次のようにフィルタリングする方法はmeta_id (category_id)
?
どうもありがとう!
// カテゴリ テーブル カテゴリ ID | 種別名 --------------------------- 55 | スポーツ 56 | 政治 // メタテーブル メタ ID | メタタイプ | rel_id | rel_type ------------------------------------------------------ 55 | カテゴリ | 78345 | ニュース 56 | カテゴリ | 91278 | ニュース ノート: rel_id (メタ テーブル内) = id (ニュース テーブル内) // この場合は必要ありません meta_id (メタ テーブル内) = category_id (カテゴリ テーブル内)
SQL:
SELECT n.*
FROM `news` n
LEFT JOIN `metas` m ON m.meta_type='category'
WHERE m.meta_id=55 AND n.status=1
GROUP BY n.id
ORDER BY n.id DESC
LIMIT 0,10