Я пытаюсь выполнить следующий SQL в моем приложении symfony2.
Резюме SQL
Select the latest currency conversion rate for each branch.
The currencies should be active.
The branches should be verified.
Оригинальный SQL
SELECT b.id, r1.* FROM rate as r1 JOIN
( SELECT branch, from_currency, to_currency, max ( time ) as latest_time FROM `rate` group by branch, from_currency, to_currency ) as r2
ON r1.branch = r2.branch
and r1.from_currency = r2.from_currency
and r1.to_currency = r2.to_currency
and r1.time = r2.latest_time
join branch b
on b.id = r1.branch and b.verified_by is not null
join currency c1
on r1.from_currency = c1.id
join currency c2
on r1.to_currency = c2.id
where c1.active = 1 and c2.active = 1
Во-первых, я попытался с запросом построителя, который, кажется, не поддерживается в таких случаях.
Теперь я понял, что мне нужно использовать NativeQuery.
Но я запутался в заполнении ResultSetMapping.
Я следил http://doctrine-orm.readthedocs.org/en/latest/reference/native-sql.html но не могу действительно сформулировать что-то.
Вопрос:
Постскриптум Дайте мне знать, если я должен добавить схемы также. Я пропускаю это только ради краткости.
Задача ещё не решена.
Других решений пока нет …