一条查询分析器能查到数据,java代码查询不到数据的sql语句

huaming_fly 2010-05-07 05:04:33
第一次遇到这情况,请各位朋友帮忙看下。运行不报错,拼出来的语句打印后复制到查询分析器能运行。。替换成其他语句也能查询到数据。 代码我贴出来,请大家帮忙看看

String sql="select card_id,(select sum (acc_num) from " +
" t_rm_vip_acclist where card_id=t.card_id and " +
" ope_date < '2009-12-31 23:59:59.9' and oper_type=0) " +
" as sumjf,(select sum (acc_num) from " +
" t_rm_vip_acclist where card_id=t.card_id and " +
" ope_date >'2010-1-1 00:00:00' and oper_type=3)" +
" as sumkj,(select sum (acc_num) from " +
" t_rm_vip_acclist where card_id=t.card_id and " +
" ope_date > '2010-1-1 00:00:00' and oper_type=0) as sum10jf" +
" from t_rm_vip_acclist t group by card_id";


以上sql语句换成其他的能查询到数据~实在无从下手
...全文
223 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
huaming_fly 2010-05-08
  • 打赏
  • 举报
回复
问题解决了,这是流水表,当会员没有兑换积分操作时,他就没有这个数据,所以当sum时,就产生了一个null值,把它放入double有问题
justlearn 2010-05-08
  • 打赏
  • 举报
回复
from t_rm_vip_acclist t group by card_id

这里取了别名,后面应该是 t.card_id把,select里面那个也是 t.card_id
huaming_fly 2010-05-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 crazylaa 的回复:]
String sql="select card_id,case when ope_date < '2009-12-31 23:59:59' and oper_type=0 then sum(acc_num) else 0 end as sumjf," +
" case when ope_date >'2010-01-01 00:00:00' and oper_type=3 then sum ……
[/Quote]


还是查询不到数据
水中影子 2010-05-07
  • 打赏
  • 举报
回复
debug断点测试,看看具体哪里出现问题
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 curacfyh 的回复:]
你这SQL写着挺别扭的
[/Quote]

我sql写的确实很烂,我不怎么会优化,不知道怎么样写效率会更高~ 我现在想先把功能实现了再找资料优化
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 amdgaming 的回复:]
引用 8 楼 huaming_fly 的回复:

引用 4 楼 crazylaa 的回复:
'2010-1-1 00:00:00'
---->>>>>别的不说,先把年月日补全试试看。
'2010-01-01 00:00:00'



补全了也一样~


在你java程序里 打印这个 sql语句 然后在 你的数据库 上运行一把

再找原因吧。
[/Quote]

我首先说的查询分析器里面运行没问题就是这么做的,把拼好的sql打印,复制到分析器里面运行是可以查询到数据的~
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 crazylaa 的回复:]
String sql="select card_id,case when ope_date < '2009-12-31 23:59:59' and oper_type=0 then sum(acc_num) else 0 end as sumjf," +
" case when ope_date >'2010-01-01 00:00:00' and oper_type=3 then sum ……
[/Quote]

下班了,家里没数据库测试~~明天测试试试。数据库是有数据的~这是一个会员操作流水表,我要把所有会员2009年消费增加的积分累加,再把所有拿去换礼品的积分累加~ 所有积分-所有消耗积分=2009年剩余积分。然后把09年的积分清零 我需要做的是把这些查出来记录好,然后比对下有没有异常~大概100w的数据。我的意思是想写一段程序套用他们的清零公式去检测的~存储过程也可以实现,但是我不怎么会写,所以写段代码。。。我以前都是做小网站的,数据稍微多点就不会处理,sql语句也写的很乱很垃圾。。
amdgaming 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huaming_fly 的回复:]

引用 4 楼 crazylaa 的回复:
'2010-1-1 00:00:00'
---->>>>>别的不说,先把年月日补全试试看。
'2010-01-01 00:00:00'



补全了也一样~
[/Quote]

在你java程序里 打印这个 sql语句 然后在 你的数据库 上运行一把

再找原因吧。
crazylaa 2010-05-07
  • 打赏
  • 举报
回复
String sql="select card_id,case when ope_date < '2009-12-31 23:59:59' and oper_type=0 then sum(acc_num) else 0 end as sumjf," +
" case when ope_date >'2010-01-01 00:00:00' and oper_type=3 then sum (acc_num)
else 0 end " +
" as sumkj, case when ope_date > '2010-01-01 00:00:00' and oper_type=0 then sum (acc_num)
else 0 end as sum10jf" +
" from t_rm_vip_acclist group by card_id";

把这个语句拿去试试看?
看不出你的sql有啥问题,是不是本来就没数据?
xiangfeidecainiao 2010-05-07
  • 打赏
  • 举报
回复
' 加个 \'
curacfyh 2010-05-07
  • 打赏
  • 举报
回复
你这SQL写着挺别扭的
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 crazylaa 的回复:]
'2010-1-1 00:00:00'
---->>>>>别的不说,先把年月日补全试试看。
'2010-01-01 00:00:00'
[/Quote]


补全了也一样~
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ginni215 的回复:]
你的意思是说 上面的sql放到查询分析器里就能查到数据,而在java里就没有数据是吗?
要不加断点调试一下,没显示出来有可能是你后面代码的问题~
[/Quote]

ResultSet里面就没数据~ 换成其他语句有
shine333 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 crazylaa 的回复:]

'2010-1-1 00:00:00'
---->>>>>别的不说,先把年月日补全试试看。
'2010-01-01 00:00:00'
[/Quote]
+1
ginni215 2010-05-07
  • 打赏
  • 举报
回复
你的意思是说 上面的sql放到查询分析器里就能查到数据,而在java里就没有数据是吗?
要不加断点调试一下,没显示出来有可能是你后面代码的问题~
crazylaa 2010-05-07
  • 打赏
  • 举报
回复
'2010-1-1 00:00:00'
---->>>>>别的不说,先把年月日补全试试看。
'2010-01-01 00:00:00'
huaming_fly 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 japt88_115656292 的回复:]
单双引号问题?空格问题? 我眼神不是很好,帮顶
[/Quote]

不是的 谢谢帮忙哈~

[Quote=引用 2 楼 li7134551921 的回复:]
别名加上单引号。
[/Quote]

试了,不行~~不过谢谢~
闭目鱼 2010-05-07
  • 打赏
  • 举报
回复
别名加上单引号。
japt88_115656292 2010-05-07
  • 打赏
  • 举报
回复
单双引号问题?空格问题? 我眼神不是很好,帮顶

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧