Foxtable(狐表)用户栏目专家坐堂 → 查询表加载,为何记录数与实际不符?


  共有2502人关注过本帖树形打印复制链接

主题:查询表加载,为何记录数与实际不符?

帅哥哟,离线,有人找我吗?
luodang2050
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
查询表加载,为何记录数与实际不符?  发帖心情 Post By:2017/3/6 20:58:00 [显示全部帖子]

如题,在sql建立查询表,显示记录数为n1,但加载进狐表,记录数n2<n1,这是为何?
注:表为联合查询表

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/6 22:43:00 [显示全部帖子]

如下查询语句,建立sql查询表,预览有510多条数据,实际加载进来只有400条,未设置条件。
SELECT   dbo.U_人员档案登记.RYID, dbo.U_人员档案登记.姓名, dbo.U_人员档案登记.姓, dbo.U_人员档案登记.首字母, 
                dbo.U_人员档案登记.重名标识, dbo.U_人员档案登记.性别, dbo.U_人员档案登记.身份证号, dbo.U_人员档案登记.归类, 
                dbo.U_人员档案登记.出生日期, dbo.U_人员档案登记.民族, dbo.U_人员档案登记.身份证住址, 
                dbo.U_人员档案登记.签发机关, dbo.U_人员档案登记.有效期始, dbo.U_人员档案登记.有效期止, 
                dbo.U_人员档案登记.人员备注, dbo.U_人员档案登记.婚姻状况, dbo.U_人员档案登记.政治面貌, 
                dbo.U_人员档案登记.参加工作日期, dbo.U_人员档案登记.籍贯, dbo.U_人员档案登记.联系电话, 
                dbo.U_人员档案登记.相照, dbo.U_人员档案登记.身份证电子版, dbo.U_社保缴交统计.单位编号 AS 社保_单位编号, 
                dbo.U_社保缴交统计.个人编号 AS 社保_个人编号, dbo.U_社保缴交统计.缴交状态 AS 社保_缴交状态, 
                dbo.U_社保缴交统计.更新日期 AS 社保_更新日期, dbo.U_社保缴交统计.最近连续月数 AS 社保_最近连续月数, 
                dbo.U_社保缴交统计.连续月数_养老, dbo.U_社保缴交统计.连续月数_医疗, dbo.U_社保缴交统计.连续月数_工伤, 
                dbo.U_社保缴交统计.连续月数_失业, dbo.U_社保缴交统计.连续月数_生育, dbo.U_职称证.职称系列, 
                dbo.U_职称证.职称名称, dbo.U_职称证.职称专业, dbo.U_职称证.证书编号, dbo.U_职称证.验证 AS 职称_验证
FRO M      dbo.U_社保缴交统计 RIGHT OUTER JOIN
                dbo.U_人员档案登记 ON dbo.U_社保缴交统计.姓名 = dbo.U_人员档案登记.姓名 AND 
                dbo.U_社保缴交统计.身份证号 = dbo.U_人员档案登记.身份证号 LEFT OUTER JOIN
                dbo.U_建造师 ON dbo.U_人员档案登记.姓名 = dbo.U_建造师.姓名 AND 
                dbo.U_人员档案登记.身份证号 = dbo.U_建造师.身份证号 LEFT OUTER JOIN
                dbo.U_学历证 ON dbo.U_人员档案登记.姓名 = dbo.U_学历证.姓名 AND 
                dbo.U_人员档案登记.RYID = dbo.U_学历证.RYID LEFT OUTER JOIN
                dbo.U_职称证 ON dbo.U_人员档案登记.RYID = dbo.U_职称证.RYID AND dbo.U_人员档案登记.姓名 = dbo.U_职称证.姓名

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/6 22:56:00 [显示全部帖子]

姓名不重复,但是没有设置这个条件,加载进来会自动去重?

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/6 23:21:00 [显示全部帖子]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=84180&skin=0
查找到相关帖子,问题一样,但是我设置了主键列,问题依然不解决。sql查询语句应该是没问题的,预览是能够看到正确结果的

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/7 9:05:00 [显示全部帖子]

数据库为sql,没时间做例子,测试select语句加上如下自定义字段(_Identify)作为主键,但采用副本加载方式,默认还是以a为主键,依然会自动去重。
当设为fill方式,与预览效果一致了,且默认会以 _Identify为分页依据,竟然完美解决了数据丢失及分页加载问题。所以判断副本加载方式,是会有潜规则的,帮助文件没有,希望能够点明
select row_number() over(order by a) _Identify,a,b,c fro m ....

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/7 9:27:00 [显示全部帖子]

如上 Select Convert(varchar, 表a._Identify) + Convert(varchar, 表B._Identify) As 主键列 From 的方式,是可以识别为主键列,但写法太过麻烦,也不简洁。
如下 row_number() over(order by a) 写法,生成的主键非常简洁,但是貌似识别不了为主键列,不知是系统限制?
注:窗口sql测试是没问题的
select row_number() over(order by a) as 主键列,a,b,c fro m ....


[此贴子已经被作者于2017/3/7 9:27:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2017/3/7 14:31:00 [显示全部帖子]

已经测试成功了,非常感谢各位老师的耐心解答

 回到顶部