以下Doctrine DQL查询返回语法错误:
return $this->getEntityManager()->createQuery(
'SELECT i invoice, (
(SELECT SUM(p1.amount) FROM PaymentTableA p1 WHERE p1.invoice = i.id)
+
(SELECT SUM(p2.amount) FROM PaymentTable2 p2 WHERE p2.invoice = i.id)
) mySUM
FROM Invoice i
WHERE i.id BETWEEN 1 AND 50'
)->getResult();
我想要两个子查询的“简单”总和,例如此有效的MySQL语句
select i.*, (
(select sum(p1.amount) from PaymentTable1 p1 where p1.invoice_id = i.id)
+
(select sum(p2.amount) from PaymentTable2 p2 where p2.invoice_id = i.id)
) mySUM
from Invoice i
where i.id between 1 and 50;
如何使用DQL执行此操作?