共计 821 个字符,预计需要花费 3 分钟才能阅读完成。
ACCESS 在制作数据查询时,发现两张表有部分相同的字段,但各自又有不同的数据和相同的数据,想把两张表合并,但要同时删除重复的数据。查了下资料,发现可以采用“追加表”的方法实现。
表 1
表 2
表 1 中有 10 个字段的数据,表 2 中有 9 个字段的数据,表 1 和表 2 有相同的字段的数据,但表 1 中的部分字段的数据在表 2 中有重复,而表 2 中的部分字段的数据在表 1 中也有重复,想要把表 1 和表 2 合并,但要去除重复的数据,采用追加表的方法。
1、创建追加查询
点击创建查询设计→关闭显示表→点击菜单的追加→选择需要追加到数据的表(表 1)→选择表 2 并添加表 2 中将要追加的目标字段。 表 1 和表的字段最好修改成相同,这样不容易出错。
2、设计 SQL 语句作为追加查询的条件来删除重复项
采用“not in”运算符来删除想要不重复字段的数据。例如在“纱线批号”字段的条件位置添加 SQL 查询语句“Not In (select 纱线批号 from [ 产品纱批表])”,其意思就是把表 2 中的“纱线批号”字段在表 1 中与表 1“纱线批号”字段不重复的数据添加到表 1 中。
SQL 语句代码如下
INSERT INTO 表 1 (字段 1, 字段 2, 字段……)
SELECT 表 2. 字段 1, 表 2. 字段 2, 表 2. 字段……,
FROM 表 2
WHERE (((表 2. 重复内的容字段) Not In (select 重复内容的字段 from [ 表 1])));
本例中的具体 SQL 代码如下
INSERT INTO 产品纱批表 (制批日期, 品号, 纱线批号, 名称, 纱支, 色号, 捻度, 捻向)
SELECT 纱批生产通知汇总单. 制批日期, 纱批生产通知汇总单. 品号, 纱批生产通知汇总单. 纱线批号, 纱批生产通知汇总单. 名称, 纱批生产通知汇总单. 纱支, 纱批生产通知汇总单. 色号, 纱批生产通知汇总单. 捻度, 纱批生产通知汇总单. 捻向
FROM 纱批生产通知汇总单
WHERE (((纱批生产通知汇总单. 纱线批号) Not In (select 纱线批号 from [ 产品纱批表])));
最后点击菜单中的“运行”按钮就可以了。