Doctrine две суммы подзапроса в Select - PullRequest
0 голосов
/ 29 апреля 2020

у меня есть два подзапроса в выбранном, мне нужно использовать сумму двух подзапросов, которые я сделал, как показано ниже

  $qb
    ->addSelect('
        (
            SELECT 
                sum(CASE WHEN e1.generalSum is not null THEN e1.generalSum ELSE 0 END) 
            FROM WebAdminBundle:Entity1 e1 
            WHERE e1.payment=1 and e1.status=1 and e1.Entity3 = e3
        ) as sumEntity1, 
        (
            SELECT 
                sum(CASE WHEN e2.generalSum is not null THEN e2.generalSum ELSE 0 END) 
            FROM WebAdminBundle:Entity2 e 
            WHERE e2.status=1 and e2.Entity3 = e3
        ) as sumEntity2 
    ');

первый код работает, мне нужны столбцы суммы, как показано ниже, но код ниже не работает, я я пытаюсь это в doctrine я могу сделать это в sql.

$qb
    ->addSelect('
        (
            (
                SELECT 
                    sum(CASE WHEN e1.generalSum is not null THEN e1.generalSum ELSE 0 END) 
                FROM WebAdminBundle:Entity1 e1 
                WHERE e1.payment=1 and e1.status=1 and e1.Entity3 = e3
            ) + (
                SELECT 
                    sum(CASE WHEN e2.generalSum is not null THEN e2.generalSum ELSE 0 END) 
                FROM WebAdminBundle:Entity2 e2 
                WHERE e2.status=1 and e2.Entity3 = e3
            )
        ) as sum1 
    ');
...