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

QQ登录

只需一步,快速开始

查看: 6081|回复: 15

[结贴] KSQL太鸡肋了,浪费时间

[复制链接]

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
发表于 2017-5-12 11:15:42 | 显示全部楼层 |阅读模式
MYSQL数据库,这个SQL使用KSQL怎么实现:
SELECT kh.fKHBM,kh.fKHMC,(SELECT gjjl.fGJRQ FROM PR_KHGJJL gjjl where kh.fKHBM=gjjl.Fkhbm order by gjjl.fGJRQ desc limit 1) as fGJRQ
FROM PR_KH kh


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-12 11:27:19 | 显示全部楼层
limit 0,1看看

复杂的语句可以直接用sql,不用都转换为ksql去执行

API中有KSQL的语法说明
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-5-12 11:31:32 | 显示全部楼层
我指的是在action的查询编辑器里面怎么去实现这个查询
添加关系、添加概念,都是些什么鬼东西?
这东西就只支持规则SQL吗?
现在我遇到的很多SQL,只要有那么一点点不同,就基本上要抛弃这个什么规则编辑器了
那还搞个这东西干嘛,有啥意义
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-12 13:21:44 | 显示全部楼层
可以加子查询或者设置关联查询啊

ksql肯定是对概念设置的

也可以不用编辑器自己到源码中写
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-5-12 14:08:17 | 显示全部楼层
我知道可以加子查询,但是使用那个什么查询编辑器搞不懂,像下面这个不知道怎么写
SELECT kh.fKHBM,kh.fKHMC,(SELECT gjjl.fGJRQ FROM PR_KHGJJL gjjl where kh.fKHBM=gjjl.Fkhbm order by gjjl.fGJRQ desc limit 1) as fGJRQ
FROM PR_KH kh
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-12 15:06:45 | 显示全部楼层
设计器不会可以切换到源码编辑

添加自定义关系,在自定义关系的表达式编辑器中选择子查询 ksql.png

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



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-5-12 15:31:25 | 显示全部楼层
设计器不会可以切换到源码编辑,你的KSQL和MYSQL的SQL编码方式一模一样的吗?
      普通的开发有几个会你的KSQL的,就喜欢关起门来搞自己的东西,不符合大众的技术逻辑,我这个SQL还是一个相当简单的SQL,如果在复杂一点,这KSQL完全就没卵用了
这个是在子查询里面要使用父的一个条件,那这里的ON又怎么选择呢?
    这个父的条件怎么传递到子
太鸡肋了,太不难操作了
页面.png
页面2.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-12 16:19:57 | 显示全部楼层
1.ksql中有语法的说明 ksql.png


2.用ksql是用概念和关系,然后转换为sql执行的
  直接用sql是直接查的数据库,不同的数据库sql语法是不一样,需要自己写多个sql,可以参考/BIZ/demo/report/logic/code/dsrc/SimpleReportProcedure.java
3.你子查询中是设置where条件,不是设置关联查询
   where条件中可以选择当前概念的关系,主概念上的关系可以手动写

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



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-5-13 10:02:04 | 显示全部楼层
这个SQL并不复杂啊,怎么就这么麻烦呢?
到底我应该怎么做呢?
可否给我一个合适的解决思路,你的那些给我的是ksql的思路
我需要的是在查询编辑器里面怎么做?
回复 支持 反对

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-5-13 10:28:06 | 显示全部楼层
搞了半天都没给我一个确定的解决思路,这个SQL并不复杂啊,才2个表关联,KSQL就搞不定了吗?
看样子你是没有一个合适的解决问题的思路了,按照我的思考方向,你可否给我一个合适的解决方式
1、解决方式一(页面1所示):
直接在JAVA里面去进行处理,如下所示:
Table khTable = BizData.query(concept, idColumn, select, from, condition, range, filter, distinct, offset, limit, columns, orderBy, aggregate,
    aggregateColumns, variables, dataModel, fnModel);
  khTable.addColumn("fGJRQ", ColumnTypes.DATE);
我直接造table去add一个列,这样的话JAVA代码好实现,但是问题是:在前端的mainData里面选择不到这个列,
让我直接排除掉了这个解决方法
2、解决方式二(页面2所示):
普通的SQL(在oracle和mysql)里面的写法,都是在1的位置去添加自定义字段就可以了
2的位置有个添加子查询的东西,这是个什么东西,
我的这个功能到底是在1的位置直接添加自定义字段,还是在2的位置添加子查询
如果是在2的位置添加子查询,为什么X5要反其道而行?

页面1.png
页面2.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 19:53 , Processed in 0.066172 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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