DQL/Doctrine2で記述する必要のある複雑なクエリがあります。疑似クエリ(余分な結合/計算をすべて省略しました)は次のとおりです。
SELECT
a, SUM(b)
FROM (
SELECT
a, SUM(b)
FROM tbl
GROUP BY a,c
) calc
GROUP BY a
最初に列aとcでグループ化し、その後で再びグループ化して選択します。
選択部分の(擬似)コードは、querybuilderでは簡単です。
$queryBuilder = $this->entityManager->createQueryBuilder();
$queryBuilder
->select(array('tbl'))
->addSelect('SUM(tbl.b)')
->from('\Model\MyModel', 'tbl')
->groupBy('a')
->addGroupBy('c');
$query = $queryBuilder->getQuery();
$results = $query->getResult();
ただし、この結果を再度クエリするにはどうすればよいですか?
これは可能ですか?
または、どういうわけかそれらを1つのqueryBuilderオブジェクトにまとめることができますか?