关于java中SQL中from前的@@的使用

近期敲代码出现一个匪夷所思的问题,找了半天没找到原因,现在分享出来大家多提提意见
在展示列表功能时,列表挂了一直傻傻的转,后台报了一个原因
在这里插入图片描述
于是我去找SQL的问题:如下

SELECT  boi.order_item_id,mc.name customerName,cm.name merchantName,
bo.customer_phone mobile,
asd.subject,asd.activity_date,
boi.quantity,boi.item_string,boi.note,boi.pay_type,
FORMAT(boi.consume_begin_time,'yyyy-MM-dd') consume_begin_time,
boi.money,boi.item_status,
bo.order_time,bo.oca_money,bo.cash_money,bo.order_status,
boi.added_user_id,boi.added_time,
(SELECT SUM(IIF(bord.deduct_quantity = NULL,0,bord.deduct_quantity)) FROM starter.dbo.book_order_right_deduct bord WHERE bord.order_item_id = boi.order_item_id ) as deduct_quantity 
FROM starter.dbo.book_order_item boi 
left JOIN starter.dbo.book_order bo ON bo.order_id = boi.order_id 
left JOIN starter.dbo.pd_product_business_map ppbm ON boi.product_id = ppbm.product_id 
LEFT JOIN starter.dbo.pd_product pp ON pp.product_id = boi.product_id 
left JOIN dbo.mbr_customer_link mcl ON bo.customer_lid = mcl.customer_lid 
left JOIN dbo.mbr_customer mc ON mc.customer_id = mcl.customer_id 
left JOIN starter.dbo.cms_merchant cm ON cm.merchant_id = boi.merchant_id 
LEFT JOIN dbo.activity_schedule_detail asd ON ppbm.ref_business_id = asd.asd_id 
WHERE pp.product_category_id = 11 AND bo.order_status = 2 AND boi.is_delete = 0 AND boi.item_status != 1 order by boi.added_time

经过我仔细观察没有问题,在SQLserver里也没有问题,能正常查询,就是写在java代码中就报上面的错,最后我在java代码中的SQL的主表的from前添加了两个@@符号就OK了,虽然不知道原因,但我猜应该是java识别不了子查询的from和主查询的from是哪一个,当我在主表的from前加了两个@@符号,也就是相当于全局的一个变量,java就可以识别了,
不才不知道对不对,但有更好的建议我也可以采纳,不喜勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值