问题描述:
如下图所示升序与降序查出的数据不一致
分析:数据不一致可以录制sql处理,我们只看条数,看条件分析:
1、按住ctrl+alt+],进入以下界面,点清空在录制
2、打开序时簿拼接自己查询条件后打开
3、按住alt+shift+d 获取条件参数,输入mainQuery,注意要找到*ListUI将条件copy出来
4、回到步骤1,点停止查看
5、找到doAllQuery点SQL分析
6、找到如下sql当然sql很多要看看刚刚第3步骤的条件就可以看出是哪个
7、将这个查询前一部分和第3步的查询拼接
SELECT DISTINCT TOP 1000 "BIZACCOUNTBILL".FID AS "ID", "BIZACCOUNTBILL".FNumber AS "NUMBER", "BIZACCOUNTBILL".FName AS "NAME" FROM T_BC_BizAccountBill AS "BIZACCOUNTBILL" INNER JOIN T_ORG_CtrlUnit AS "CU" ON "BIZACCOUNTBILL".FControlUnitID = "CU".FID LEFT OUTER JOIN T_BC_BizAccountBillEntry AS "ENTRIES" ON "BIZACCOUNTBILL".FID = "ENTRIES".FBillID WHERE ("BIZACCOUNTBILL".FBizReqDate >= {TS '2019-04-01 00:00:00'}) AND ("BIZACCOUNTBILL".FBizReqDate <= {TS '2020-04-28 23:59:59'}) AND ("ENTRIES".FCompanyId IN ('c6oAAAAAZGjM567U') OR "BIZACCOUNTBILL".FApplierCompanyID IN ('c6oAAAAAZGjM567U')) ORDER BY "NUMBER" ASC, "NAME" ASC
8、查询分析器查询,可以看出数据条数是对的
分析:条数不一致一般为业务数据源,拼接条件不同导致,存在笛卡尔重复关联需重点检查过业务数据源是否有主键id和实体是否重复存在多个分录检查下面两图
推荐阅读