では、次のテーブルがあると仮定します。
レシピ
id (pk)
name
added
modified
レシピバージョン
id (pk)
recipe_id (fk to recipes.id)
version
content
added
私が欲しいのは、最新のrecipe_versions.added
データを取得してからベースデータと結合するクエリですrecipe
。次に、すべての結果をrecipes.added ASC
次のように並べ替えますが、group byは、最新のrecipe_versions行を選択しておらず、最初の行を選択しているようです。
SELECT r.`id`,
r.name,
rv.version,
rv.content,
r.added,
r.modified,
FROM recipes r,
recipe_versions rv
WHERE r.`id` = rv.recipe
GROUP BY rv.recipe
HAVING max(rv.added)
ORDER BY r.added ASC