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

QQ登录

只需一步,快速开始

查看: 2631|回复: 5

[处理中6] 列表 #master_checkbox 多选时如果使用的是联合查询存在问题

[复制链接]

226

主题

740

帖子

2370

积分

金牌会员

Rank: 6Rank: 6

积分
2370
发表于 2015-9-11 17:47:35 | 显示全部楼层 |阅读模式
本帖最后由 renchunjia 于 2015-9-11 17:54 编辑

V5.2.7、
列表 #master_checkbox 多选时如果使用的是联合查询存在问题。
在后台的ontology中创建了一个查询的action
对应的 concept T_guideMasses 是这个!
QQ截图20150911174347.png

在这个查询中存在两个问题:
DECL_BUSINESS 表50条记录
T_guideMasses 1条记录

select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from DECL_BUSINESS DECL_BUSINESS
     optional  join T_guideMasses T_guideMasses on T_guideMasses.fMasterID = DECL_BUSINESS
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'

1 如果我这么写
select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from T_guideMasses T_guideMasses
     join  DECL_BUSINESS DECL_BUSINESS   on T_guideMasses.fMasterID = DECL_BUSINESS
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'

发现只能查出1条记录,也就是如果使用 类似的left join 只能是 from  后面紧接 DECL_BUSINESS 表。
比如plsql这么写
select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from T_guideMasses T_guideMasses
    right join  DECL_BUSINESS DECL_BUSINESS   on T_guideMasses.fMasterID = DECL_BUSINESS.ID
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'


有50条记录
select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from  DECL_BUSINESS DECL_BUSINESS  
    left join   T_guideMasses T_guideMasses on T_guideMasses.fMasterID = DECL_BUSINESS.ID
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'


也是50条记录


2 当我使用这个sql 时
select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from DECL_BUSINESS DECL_BUSINESS
     optional  join T_guideMasses T_guideMasses on T_guideMasses.fMasterID = DECL_BUSINESS
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'


发现前台的grid的 #master_checkbox 多选时 选中了。对应的checkedIDs  这个有的时候能选中一条记录,有的时候界面上选择了三条,但是checkedIDs  却为空!

        var listGrid = justep.xbl("listGrid").grid;
        var checkColIndex = listGrid.getColIndexById("calcCheckBox");
        var checkedIDs = listGrid.getCheckedRows(checkColIndex);

3 对.W 进行模型检查的时候提示T_guideMasses 概念不存在。此时前台的数据都能查出来,概念怎么会不存在呢?

当我将DECL_BUSINESS 这个ontology中对应创建一个查询时还是用上面的sql
前台多选什么的都没有问题,求解!

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-9-14 09:05:11 | 显示全部楼层
1.确认id是否是否重复的
2.确认引用的是否正确,在biz层模型检查一下看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

226

主题

740

帖子

2370

积分

金牌会员

Rank: 6Rank: 6

积分
2370
 楼主| 发表于 2015-9-14 10:45:51 | 显示全部楼层
id 没有重复,引用也是对的!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-9-14 17:03:49 | 显示全部楼层
select DECL_BUSINESS.BUSS_NO as BUSS_NO,DECL_BUSINESS.BUSS_NAME as BUSS_NAME,T_guideMasses,T_guideMasses.fAuditStatus as fAuditStatus
    from DECL_BUSINESS DECL_BUSINESS
     optional  join T_guideMasses T_guideMasses on T_guideMasses.fMasterID = DECL_BUSINESS
    where DECL_BUSINESS.IF_VALID = '是' AND DECL_BUSINESS.KIND = '0' AND DECL_BUSINESS.BUSS_NAME <> '征地补偿裁决审核'

这写法是在DECL_BUSINESS这个概念的queryAction中设置的吧?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

226

主题

740

帖子

2370

积分

金牌会员

Rank: 6Rank: 6

积分
2370
 楼主| 发表于 2015-9-15 15:10:15 | 显示全部楼层
是的,在query中的select 部分设置的!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-9-15 17:32:37 | 显示全部楼层
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 19:20 , Processed in 0.063146 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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