1

我正在处理我的查询,将它们更改为新的 API。

我正在尝试选择一个包含 as 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 也暗示这里存在语法错误。

任何建议,将不胜感激。

非常感谢。

4

1 回答 1

0

你需要使用SelectQuery::addExpression()

$expr = "SUM(CASE MONTH('start') WHEN 1 THEN data.accepted END)";
$query->addExpression($expr, 'Jan');
于 2013-11-25T13:44:26.850 回答