Office中国论坛/Access中国论坛

标题: 请教各位大牛,如何对两张表的两列数据进行合并然后再排重,最终生成新的一张表? [打印本页]

作者: 黑羽快斗    时间: 2016-9-22 10:24
标题: 请教各位大牛,如何对两张表的两列数据进行合并然后再排重,最终生成新的一张表?
我希望将表1中的“入职时间”、“员工id”,与表2中的“入职时间”、“员工id”进行合并,并对“员工id”进行排重,,另对“入职时间”的时间格式进行调整,调整为2001-1-1,这种格式,最终生成一个新表,名称是123,包括字段有“入职时间”、“员工id”。

数据示例文件见附件。

最终效果图如下图
[attach]59990[/attach]

作者: Henry D. Sy    时间: 2016-9-22 10:53
  1. SELECT DISTINCT A.入职时间, A.员工ID INTO 123
  2. FROM (SELECT 入职时间,员工ID FROM [1]
  3. UNION ALL SELECT 入职时间,员工ID FROM [2])  AS A;
复制代码

作者: 黑羽快斗    时间: 2016-9-23 14:11
本帖最后由 黑羽快斗 于 2016-9-23 14:16 编辑
Henry D. Sy 发表于 2016-9-22 10:53

老师帮忙看看这个如何实现:

1、将表1和表2的员工id,入职时间,进入本部门时间进行合并。
2、如果两个表中出现了同一个员工id的数据,以表1中的“入职时间”为准。
3、将结果生成一张新表,包含两列:日期、员工id。注:日期格式为2016-8-1。

附件是示例。谢谢。
模拟效果图
[attach]59995[/attach]

作者: Henry D. Sy    时间: 2016-9-23 20:20
本帖最后由 Henry D. Sy 于 2016-9-23 20:26 编辑

如果两个表中出现了同一个员工id的数据,以表1中的“入职时间”为准
表1的时间是比较早,或者晚!
两个表是什么关系

作者: Henry D. Sy    时间: 2016-9-23 20:53
  1. SELECT A.员工ID, First(A.dte) AS 日期 INTO 123
  2. FROM
  3.        (SELECT format(入职时间,"yyyy-mm-dd") as dte,员工ID FROM [1]
  4.         UNION ALL SELECT format(进入本部门时间,"yyyy-mm-dd"),员工ID FROM [2])
  5.        As A
  6. GROUP BY A.员工ID
复制代码

作者: 黑羽快斗    时间: 2016-9-23 22:51
Henry D. Sy 发表于 2016-9-23 20:53

谢谢,是我想要的结果




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3