当前位置: 代码迷 >> Sql Server >> MySQL将两张表合并,该怎么处理
  详细解决方案

MySQL将两张表合并,该怎么处理

热度:49   发布时间:2016-04-24 09:14:05.0
MySQL将两张表合并
现有两张表,结构是完全相同的,两边可能都有对方没有的数据,有一个叫prefix的字段是不可重复的,可以用这个来进行匹配,id为主键,现在想将两张表的数据合并,不知道该怎么做

------解决思路----------------------
给些数据和你想要的显示结果,能最快解决你的问题
------解决思路----------------------
create table user1 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));
insert into user1 (UserName) VALUES("A"),("B"),("C"),("D"),("E"),("F");

create table user2 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));
insert into user2 (UserName) VALUES("A"),("B"),("C"),("X"),("Y"),("Z");

create table user3 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));

insert into user3 select * from user1;
 
insert into user3 (userName)  select UserName from user2 where UserName not in (select UserName from user1);

-- Result
ID UserName
1 A
2 B
3 C
4 D
5 E
6 F
7 X
8 Y
9 Z
------解决思路----------------------

create table user1 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));
insert into user1 (UserName) VALUES("A"),("B"),("C"),("D"),("E"),("F");

create table user2 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));
insert into user2 (UserName) VALUES("A"),("B"),("C"),("X"),("Y"),("Z");

create table user3 (ID int PRIMARY key NOT NULL AUTO_INCREMENT,UserName varchar(10));

insert into user3 select * from user1;
 
insert into user3 (userName)  select UserName from user2 where UserName not in (select UserName from user1);

-- Result
ID UserName
1 A
2 B
3 C
4 D
5 E
6 F
7 X
8 Y
9 Z
  相关解决方案