关于子查询中带GROUP BY出错的问题

#1 253618

如下语句用findSql出错,可我在phpmyadmin测试运行得好好的,求解决
select A.spbm,B.num
from A left join (select spbm,sum(num) as num from B where  spbm like 'A%' group by spbm) B on A.spbm=B.spbm
where A.spbm like 'A%'

2013-04-01 22:49:14

#2 coolhpy

:L 重名的也太多了吧,尤其是子查询那里,试试看改成别的别名~

2013-04-01 23:42:17

#3 253618

coolhpy 发表于 2013-4-1 23:42
重名的也太多了吧,尤其是子查询那里,试试看改成别的别名~
在phpmyadmin测试正常,这个只是我举的例子

2013-04-02 07:59:59

#4 coolhpy

那只能说你在程序中拼凑的时候出错,,把拼凑的SQL输出出来看看呗,,和预期的是不是一样。

2013-04-02 08:27:24

#5 jake

出错提示是什么?

2013-04-02 08:46:21

#6 253618

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

在phpmyadmin写好的语句拿过来的,去掉那个group by子查询,程序才能正常运行

2013-04-02 08:57:17

#7 jake

253618 发表于 2013-4-2 08:57
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version ...
整个语句和错误粘贴出来看看?

这个提示是mysql的语法错误提示,和findSql没什么关系,估计和楼上说的一样,是你在PHP拼装语句的时候出错了。最好能把整个错误语句和提示都粘贴上来看看。

2013-04-02 09:01:52

#8 253618

可以了,谢谢,两台电脑考来时没考全

2013-04-02 09:06:33