新Drupal7数据库API中的Alias列

时间:2013-11-25 12:21:49

标签: drupal drupal-7 dbo

我正在处理我的查询,将它们更改为新的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也建议这里存在语法错误。

任何建议都将不胜感激。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用SelectQuery::addExpression()

$expr = "SUM(CASE MONTH('start') WHEN 1 THEN data.accepted END)";
$query->addExpression($expr, 'Jan');