정확한 결과를 제공하는 MySQL에 대한 SQL 쿼리가 있습니다. 그러나 DQL을 사용하여 Doctrine 쿼리로 변환 할 때 문제가 있습니다.DQL (Doctrine)의 다른 SELECT 쿼리 내에서 SELECT 쿼리 구현
SELECT Sum(s) AS s
FROM (SELECT DISTINCT oder.id AS m,
o_t.restaurants_id,
o_t.value AS s
FROM orders AS oder
INNER JOIN order_total AS o_t
ON oder.id = o_t.orders_id
INNER JOIN order_status AS o_s
ON oder.id = o_s.orders_id
WHERE o_s.status = 1
AND o_t.code = 'total') a
나는 시도하고 다음
반환$query = Doctrine_Query::create()
->select('sum(s) as s')
->addSelect('DISTINCT order.id,o_t.value')
->from('orders as order')
->leftJoin('order.order_total as o_t')
->leftJoin('order.order_status as o_s_i')
->where('o_s_i.status = '.order_status::ORDER_COMPLETE)
->andWhere('o_t.code = "total"')->getSqlQuery();
:
SELECT DISTINCT o.id AS o__id,
o2.id AS o2__id,
o2.value AS o2__value,
Sum(s) AS o__0
FROM orders o
LEFT JOIN order_total o2
ON o.id = o2.orders_id
LEFT JOIN order_status o3
ON o.id = o3.orders_id
WHERE (o3.status = 1
AND o2.code = "total")
어떤 생각을?
이 [질의 응답] (HTTP 한 번 봐 걸릴 수 있음 : //stackoverflow.com/questions/1869233/doctrine-subquery-in-from). – j0k