sql在数据库里面单独运行没有错,但在程序里面运行就报错:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql在数据库里面单独运行没有错,但在程序里面运行就报错:相关的知识,希望对你有一定的参考价值。
syntax error, expect RPAREN, actual ON ON, pos 352
select A.uli_ecgi_eci_fv, A.user_num num1, A.num2, A.num3, B.num4, B.num5 from
(SELECT
A.uli_ecgi_eci_fv,
COUNT(A.mei_fv) user_num,
(CASE WHEN SUM(B.ttime)>20*60*60 and COUNT(A.mei_fv)>20 THEN '是' ELSE '否' END) num2 ,
(CASE WHEN SUM(B.ip1_len_fvSUM)>300*1000 THEN '是' ELSE '否' END) num3
FROM
tshark_mme_index A
LEFT JOIN 2G_flow B ON A.mei_fv = B.IMEI
GROUP BY
A.uli_ecgi_eci_fv) A
INNER JOIN
(SELECT
A.uli_ecgi_eci_fv,
COUNT(A.mei_fv) user_num,
(CASE WHEN SUM(B.ttime)>20*60*60 and COUNT(A.mei_fv)>20 THEN '是' ELSE '否' END) num4 ,
(CASE WHEN SUM(B.ip1_len_fvSUM)>300*1000 THEN '是' ELSE '否' END) num5
FROM
tshark_mme_index A
LEFT JOIN 3G_flow B ON A.mei_fv = B.IMEI
GROUP BY
A.uli_ecgi_eci_fv) B
ON A.uli_ecgi_eci_fv = B.uli_ecgi_eci_fv limit 0,20
com.alibaba.druid.sql.parser.ParserException: syntax error, expect RPAREN, actual ON ON, pos 352
有没有谁能帮我看看
THEN '是' ELSE '否' END
改成
THEN ''是'' ELSE ''否'' END) ,
试试,
如果单独执行没问题,程序执行却有问题,那么有且只有这个地方有问题了!!追问
你说的这样我也试过,还是不行,但单独在数据库里面执行就是没有问题
参考技术A 跟踪下程序,输出下你要运行的sql,再去数据库里执行看看追问就是上面那条sql,那条sql在数据库里面执行是没有错的
追答应该是嵌套查询的问题,你可以把你后面2个表里的数据建立个临时表,将2部分数据存进去,在使用简单sql查询试试
以上是关于sql在数据库里面单独运行没有错,但在程序里面运行就报错:的主要内容,如果未能解决你的问题,请参考以下文章
C++程序在VS2010中可以运行 但是debug里面的可执行文件不能单独运行 而DEVC++则均可以 啥情况 求解答。
我拼接了一个sql,在数据库中sql语句可正确运行,但在java代码中报错,sql命令未正确结束。