mysql 两表合并成一个表

mysql 两表合并成一个表,第1张

假设sdeg和zbug的表结构 都是

ID varchar(4) primary key,

Name varchar(8),

Dept varchar(10),

存储过程如下

CREATE PROCEDURE table_combine()

BEGIN

#第一步把sdeg和zbug两个表进行联合输出到临时表tmp_tab中

create temporary table tmp_tab select * from sdeg union select * from zbut

#第二步创建结果表sdut,并创建主键

create table sdut(ID varchar(4) primary key, Name varchar(8),Dept varchar(10))

#第三步把临时表里面的重复数据过滤并写入sdut

INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab

#drop临时表

drop table tmp_tab

END

1、忽略表之间的关联关系

ALTER TABLE db2.dbo.table NOCHECK CONSTRAINT 关系名

2、--将没有重复的数据合并

insert into db2.dbo.table(field1,field2...) select field1,field2... from db1.dbo.table a where a.username not in (select username from db2.dbo.table)

3、将重复的数据写入临时表

select field1,field2... into 新的临时表 from db1.dbo.table a where a.username in (select username from db2.dbo.table)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6125429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存