0
上で、私はこのクエリは、クエリビルダを行っている:はDoctrineのクエリビルダ - グループエイリアス
$qb = $this->createQueryBuilder ('x');
$qb->innerJoin ('x.unitelement', 'ue', 'WITH', 'ue.id=x.unitelement');
$qb->innerJoin ('ue.object', 'o', 'WITH', 'o.id=ue.object');
$qb->select ('o.id, o.name, AVG(x.evaluation) AS vi, YEAR(x.date) as yyyy');
$qb->where('x.evaluation IS NOT NULL');
$qb->andWhere('x.evaluation >= 0');
$qb->andWhere('x.date IS NOT NULL');
$qb->groupBy ('o.id, o.name, x.date');
$qb->orderBy('yyyy');
$query = $qb->getQuery();
私は「YYYY」の別名でグループの業績に必要がありますが、私はGROUPBYにyyyyのエイリアスを挿入した場合、私はエラーを得ました。
誰かが教義クエリビルダでこのSQLを変換するためのソリューションを持っている:?
SELECT o.name, AVG(x.Evaluation) AS vi, YEAR(x.[Date]) AS yr
FROM [Inspection] AS x
INNER JOIN [UnitElement] AS ue
ON ue.id=x.UnitElement_ID
INNER JOIN Object AS o
ON o.id=ue.[Object_ID]
WHERE x.evaluation IS NOT NULL
AND x.evaluation >= 0
AND x.[Date] IS NOT NULL
GROUP BY o.id, o.name, YEAR(x.[Date])
ORDER BY vi DESC;
おかげ
表示されたエラーメッセージは何をお試しください誰もが簡単に答えるようにエラーメッセージを投稿してください –