sql如何把两张表的数据合并起来?

sql如何把两张表的数据合并起来?,第1张

1.两个不同的表进行查询,需要把结果合并,

比如table1的列为 id, user_id, type_id,pro_id;

table2的列为 id,user_id,collect_id;分别如下图所示

table1:

table2:

2.将两个表的查询结果合并到一起的查询语句为

select *, null as collect_id from table1 where user_id = 527

union

select id,user_id,null as type_id,null as pro_id, collect_id from table2 where user_id = 527

3.结果为:

总结:其实就是把对应的列补充到没有该列的表中,在例子中就是把collect_id补充到table1中,

把type_id,pro_id补充到table2中。

可以参考下面的方法:

1、第一种,用一张临时表,把所有数据都放在一张表里

INSERT INTO QunList SELECT * FROM QunList89,90,91,92

再在QunList中查询

2、第二种,用 UNION ALL方式查询

SELECT * FROM QunList89

UNION ALL

SELECT * FROM QunList90

扩展资料:

SQL参考语句

删除表

drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录

删除信息

delete from table_name-这是将表中信息删除但是会保留这个表

增加列

Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项

参考资料来源:百度百科-结构化查询语言

参考资料来源:百度百科-SQL语句大全

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

在SQLserver中 怎样将两个库中同样结构的两个表的数据进行合并

数据有可能存在重复

表结构完全相同

解析:

可以将两个表中的数据提出来(重复的过滤)写入一个临时表中,清空这两个表,再将临时表的数据回写入这两个表里面。为防出错,请先备份数据库再 *** 作。

如:

第一步:select * from 数据库名1..表名1 into #临时表名

第二步:insert into #临时表名 (字段名1,字段名2……) (select a.字段名1,a.字段名2…… from 数据库名2..表名2 a,数据库名1..表名1 b where 数据库名2..表名2.主键字段名<>数据名1..表名1.主键字段名 )

第三步:delete from 数据库名1..表名1

第四步:delete from 数据库名2..表名2

第五步:insert into 数据库名1..表名1 from #临时表

第六步:insert into 数据库名2..表名2 from #临时表

第七步:drop table #临时表

注:如果两个表中没有主键,你只有在第二条语句中where 项中一个字段一个字段地添加条件判断了。


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

原文地址: http://outofmemory.cn/sjk/9939828.html

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

发表评论

登录后才能评论

评论列表(0条)

保存