Foxtable(狐表)用户栏目专家坐堂 → 子表数据查询问题


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

主题:子表数据查询问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/21 17:00:00 [显示全部帖子]

父表要放到左边,连接方式需要使用左连接。另外如果做分组处理。具体请上传实例说明

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/23 21:09:00 [显示全部帖子]

录入未必是按顺序的,比如录入到大专了,发现少录了高中,就补录,这时最后一条记录就可能是高中了,而不是大专。难道您会把所有记录删除,,重新按照顺序再录一遍?

上传程序不需要上传全部的,新建一个项目,导入相关表的部分测试数据(比如一两个人的全部关联数据),把这个新项目发上来即可

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/24 22:49:00 [显示全部帖子]

如果要一次显示只能通过SQL处理,附件里新增看一个查询表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


如果是SqlServer数据库,SQL可以改为

Select a.人员编号,姓名,性别,政治面貌,学历 as 最高学历,专业,毕业院校,毕业日期,职称等级 as 最高职称等级,职称系列,获得资格时间 from {基本情况表} As a left join 
(Select a.人员编号,学历,专业,毕业院校,毕业日期 from {学历} As a Inner join (Select 人员编号,max(毕业日期) As 毕业日期 from {学历} group by 人员编号) As b on a.人员编号=b.人员编号 and a.毕业日期=b.毕业日期) As c on a.人员编号=c.人员编号
left join  (Select a.人员编号,职称等级,职称系列,获得资格时间 from {职称表} As a Inner join (Select 人员编号,max(获得资格时间) As 获得资格时间 from {职称表} group by 人员编号) As b on a.人员编号=b.人员编号 and a.获得资格时间=b.获得资格时间) As d on a.人员编号=d.人员编号

如果要查原始学历,把sql里的max改为min即可

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/28 21:00:00 [显示全部帖子]

Select a.人员编号,姓名,性别,政治面貌,学历 as 最高学历,专业,毕业院校,毕业日期,职称等级 as 最高职称等级,职称系列,获得资格时间 
from 基本情况表 As a left join 
(Select a.人员编号,学历,专业,毕业院校,a.毕业日期 
from 学历 As a Inner join 
(Select 人员编号,max(毕业日期) As 毕业日期 
from 学历 group by 人员编号
) As b on a.人员编号=b.人员编号 and a.毕业日期=b.毕业日期
) As c on a.人员编号=c.人员编号
left join  
(Select a.人员编号,职称等级,职称系列,a.获得资格时间 
from 职称表 As a Inner join 
(Select 人员编号,max(获得资格时间) As 获得资格时间 
from 职称表 group by 人员编号
) As b on a.人员编号=b.人员编号 and a.获得资格时间=b.获得资格时间
) As d on a.人员编号=d.人员编号

 回到顶部