起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4230|回复: 9

[处理中3] bizQueryProcedure中KSQL语句错误

[复制链接]

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
发表于 2018-1-24 07:54:16 | 显示全部楼层 |阅读模式
在设计器中,测试没有问题,在.W页面中使用该Action报错

执行KSQL出错, KSQL: SELECT DISTINCT (getYear(ThirdContract.SignDate)) as ContractYear,SA_OPOrg.sName as DepartmentName,(sum(ThirdContract.ThirdContractAmount)) as ThirdContractAmount,(sum(ThirdContract.ThirdBillSumAmount)) as ThirdContractBill,(sum(ThirdContract.ThirdPaymentSumAmount)) as ThirdContractPayment,ThirdContract.SignDate as SignDate  FROM ThirdContract ThirdContract  optional  join SA_OPOrg SA_OPOrg on ThirdContract.ThirdContractDepartment = SA_OPOrg WHERE (getYear(ThirdContract.SignDate) = getYear(:currentDate()) group by ThirdContract.ThirdContractDepartment)

编码: JUSTEP154115; 提示: KSQL语法错误, currentDate()) ^^group by ThirdC中未找到需要的元素, 位置511期望是)


设计器中

设计器中

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36189
发表于 2018-1-24 09:37:31 | 显示全部楼层
测试没问题,运行应该是一样的,确认测试的ksql和运行的完全一致?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 11:39:50 | 显示全部楼层
jishuang 发表于 2018-1-24 09:37
测试没问题,运行应该是一样的,确认测试的ksql和运行的完全一致?

一样的。上面的语句就是在studio中考的。
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 12:20:48 | 显示全部楼层
jishuang 发表于 2018-1-24 09:37
测试没问题,运行应该是一样的,确认测试的ksql和运行的完全一致?

大神,帮忙看看。测试的SQL
select distinct (getYear(ThirdContract.SignDate)) as ContractYear,SA_OPOrg.sName as DepartmentName,(sum(ThirdContract.ThirdContractAmount)) as ThirdContractAmount,(sum(ThirdContract.ThirdBillSumAmount)) as ThirdContractBill,(sum(ThirdContract.ThirdPaymentSumAmount)) as ThirdContractPayment,ThirdContract.SignDate as SignDate
    from ThirdContract ThirdContract
     optional  join SA_OPOrg SA_OPOrg on ThirdContract.ThirdContractDepartment = SA_OPOrg
    group by ThirdContract.ThirdContractDepartment
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 12:21:25 | 显示全部楼层
delphixf 发表于 2018-1-24 12:20
大神,帮忙看看。测试的SQL
select distinct (getYear(ThirdContract.SignDate)) as ContractYear,SA_OPO ...

我对比测试的与运行中的一样啊
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36189
发表于 2018-1-24 13:39:38 | 显示全部楼层
测试的sql并没有日期的过滤
sql.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 14:03:21 | 显示全部楼层
jishuang 发表于 2018-1-24 13:39
测试的sql并没有日期的过滤

我刚才拷错了,给别人演示了,把日期过滤删了。这是加上日期的测试SQL,测试没问题,但在.w运行报错
select distinct (getYear(ThirdContract.SignDate)) as ContractYear,SA_OPOrg.sName as DepartmentName,(sum(ThirdContract.ThirdContractAmount)) as ThirdContractAmount,(sum(ThirdContract.ThirdBillSumAmount)) as ThirdContractBill,(sum(ThirdContract.ThirdPaymentSumAmount)) as ThirdContractPayment,ThirdContract.SignDate as SignDate
    from ThirdContract ThirdContract
     optional  join SA_OPOrg SA_OPOrg on ThirdContract.ThirdContractDepartment = SA_OPOrg
    where getYear( ThirdContract.SignDate )  =  getYear( :currentDate() )
    group by ThirdContract.ThirdContractDepartment LIMIT 0, 50
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 14:09:44 | 显示全部楼层
delphixf 发表于 2018-1-24 14:03
我刚才拷错了,给别人演示了,把日期过滤删了。这是加上日期的测试SQL,测试没问题,但在.w运行报错
sele ...

运行错误日志
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT DISTINCT (getYear(ThirdContract.SignDate)) as ContractYear,SA_OPOrg.sName as DepartmentName,(sum(ThirdContract.ThirdContractAmount)) as ThirdContractAmount,(sum(ThirdContract.ThirdBillSumAmount)) as ThirdContractBill,(sum(ThirdContract.ThirdPaymentSumAmount)) as ThirdContractPayment,ThirdContract.SignDate as SignDate  FROM ThirdContract ThirdContract  optional  join SA_OPOrg SA_OPOrg on ThirdContract.ThirdContractDepartment = SA_OPOrg  WHERE (getYear( ThirdContract.SignDate )  =  getYear( :currentDate() ) group by ThirdContract.ThirdContractDepartment) LIMIT 0, 20
--> sql:
--> binds: []
    at com.justep.exception.BusinessException.create(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
    at com.justep.system.data.BizData.query(Unknown Source)
    at BizProcedure.query(BizProcedure.java:12)
    ... 26 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, urrentDate() ) ^^group by ThirdC中未找到需要的元素, 位置518期望是)
测试界面如图

测试

测试
回复 支持 反对

使用道具 举报

27

主题

123

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
QQ
 楼主| 发表于 2018-1-24 14:36:07 | 显示全部楼层
大神在哪儿?帮帮忙!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36189
发表于 2018-1-24 15:35:14 | 显示全部楼层

比较复杂的ksql可以用sql实现,标准的queryAction中本来也不支持直接设置group by
http://bbs.wex5.com/forum.php?mod=viewthread&tid=54836

这个没起作用吧
sql.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-3 17:50 , Processed in 0.061944 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表