【发布时间】:2015-02-26 01:29:53
【问题描述】:
假设我有一个带有 item_id 字段的 table1 查询
select item_id + 1 as num1, (select num1) + 1 as num2 from table1
有效,但查询
select count(*) as num1, item_id, (select num1) + 1 as num2 from table1 group by item_id
失败,错误代码:1247。不支持引用“num1”(引用组函数)。
我知道我可以嵌套一个计算小计的查询,并在外部查询中使用它,但是使用 CakePHP 处理嵌套/临时表很麻烦。我不能使用用户变量 (@num1 := count(*)),因为我需要在同一个 select 语句中重用数据,并且读/写的顺序是未定义的。有人知道解决这个问题的简单方法吗?
【问题讨论】:
-
你想用CakePHP语法写什么SQL语句?
-
@AgRizzo 实际查询非常复杂。我知道有几种方法可以解决我的问题中的问题,但是它们都很混乱,由于 CakePHP 处理临时表的方式,它们变得更加复杂。我真的只是问这个问题是为了让我的代码更具可读性