我有那个查询,想把它翻译成学说
SELECT
ex.id,
ex.title AS 'title of examination',
SUM(IF(su.status_id = 2, 1, 0)) AS 'published surveys',
SUM(IF(su.status_id = 1, 1, 0)) AS 'other surveys'
FROM
examination ex
LEFT JOIN
survey su ON ex.id = su.examination_id
GROUP BY ex.id;
我知道我可以使用$qb->select("[SQL_HERE]")
但它不能用于其他数据库,只有我当前的(MySQL)。
那么,我如何将此查询编码为doctrine?
答案 0 :(得分:1)
没有纯Doctrine交叉数据库解决方案,您可以:
或者您可以更改数据库,例如添加列published
可能有0或1的值(此列的值可能是
如果您想保留原始status_id
,请按触发器更新
列)然后你可以使用纯粹的学说查询:
SELECT SUM(published) as count_published FROM ...
(类似于其他人可以使用另一列other
...)