私は2つのテーブルを持っています:
author (id, first_name, last_name)
books (id, title, rate, author_id)
そして、最も評価の高い本 (著者ごとに 1 つ) の著者を取得する必要があります。
SQLで:
SELECT a.*, highest_rated_book.*
FROM authors a
LEFT JOIN (SELECT * FROM books b ORDER BY b.rate DESC) AS highest_rated_book
ON a.id = highest_rated_book.author_id
GROUP BY highest_rated_book.author_id
ORDER BY a.id;
しかし、Doctrine 2 でこれが必要です。私が抱えている最大の問題は、左結合と副選択を組み合わせることです。
これは可能ですか?