我正在处理我的查询,将它们更改为新的API。
我正在尝试选择包含CASE语句的别名。这是我原来的SQL:
SUM(CASE MONTH(data.start) WHEN 1 THEN data.accepted END) AS 'Jan',
这就是我正在尝试使用新API:
->addField('data', SUM(CASE MONTH('start') WHEN 1 THEN data.accepted END), 'Jan');
然而,即使在我运行查询之前,Eclipse也建议这里存在语法错误。
任何建议都将不胜感激。
非常感谢。
答案 0 :(得分:0)
您需要使用SelectQuery::addExpression()
$expr = "SUM(CASE MONTH('start') WHEN 1 THEN data.accepted END)";
$query->addExpression($expr, 'Jan');