|
本帖最后由 renchunjia 于 2015-9-11 17:54 编辑
V5.2.7、
列表 #master_checkbox 多选时如果使用的是联合查询存在问题。
在后台的ontology中创建了一个查询的action
对应的 concept T_guideMasses 是这个!
在这个查询中存在两个问题:
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
前台多选什么的都没有问题,求解!
|
|