カテゴリに属する article_types に属する記事があります。各記事にはフォーマットがあります。
特定の著者によって発行されたすべての記事を、カテゴリ別にグループ化して一覧表示したいと考えています。
記事のないものも含め、すべてのカテゴリを表示したい。
すべての記事には article_type があり、すべてのカテゴリには記事タイプが含まれています。
MySQL 5.5.x では完全に機能するが、5.0 では機能しないクエリがあります。これは MySQL のバグですか、それともクエリを変更する必要がありますか、あるいはその両方ですか?
SELECT
a.article_id, a.article_time, a.article_notes f.format_name, at.article_type_name, c.category_name, c.category_description
FROM
article AS a
LEFT JOIN article_type AS at ON at.advice_id = a.advice_id
LEFT JOIN format AS f ON f.format_id = a.format_id
RIGHT JOIN category AS c ON c.category_id = at.cateory_id
WHERE
(a.author_id = 5 AND a.published = 1)
OR (a.author_id IS NULL)
ORDER BY
c.category_name ASC, a.article_time DESC
望ましい出力 (単純な php ループの後):
Category 1
Article A (Article Type I) (Digital)
Article B (Article Type I) (Print)
Article E (Article Type II) (Digital)
Category 2
Category 3
Article H (Article Type V) (Audio)
Article M (Article Type IV) (Print)