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中。

其实很简单的,分四步走:

一,先在SQL里创建两个数据A和B。

二,还原数据库,用A.BAK还原到数据库A,用B.BAK还原到数据库B。(这个你会吧?)

三,数据导出,(也可以导入)。可以从A导出到B,也可以从B导出到A。

如果从A导出到B。选择数据库A,点右键,选所有任务>数据导出。出现一个新的窗口。选择数据源也就是数据库A,再选择导出的目的地,也就是数据库B。之后再选择第一个选项,(复制视图和表),再选择所有的表不要选视图。(那些有眼镜的不要选。)然后一直下一步直到完成。

四,备份数据库B,备份的数据库文件就等于你要的C.BAK。

以上四步,第三步最为关键,有几种方法。也有很多选项,可要看清楚哟。

这个的话,原理很简单,只是工作处理比较烦琐:

主要步骤:将fat32格式上的整个数据库备份成bak备份文件,然后拿这个bak文件到NTFS格式的服务器上恢复。

恢复完后,然后用下面命令将一个文件中的所有数据从指定文件中迁移到同一文件组中的其它文件中,接着使用

ALTER

DATABASE

语句除去文件(若要清掉多个数据文件,则重复这步 *** 作即可---先移除文件里面的数据,再删除该文件)。

以下 *** 作在查询分析器上执行即可:

--转到要处理的数据库:

use

库名

go

--查看该库所有的文件:

select

[name],[filename]

from

sysfiles

go

--对指定的文件进行数据移除:

dbcc

shrinkfile

(上面查询得到的“逻辑文件名”(即Name那列),

EMPTYFILE)

go

--将一定移除了数据的指定文件删除:

ALTER

DATABASE

库名

REMOVE

FILE

上面查询得到的“逻辑文件名”

go


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

原文地址: http://outofmemory.cn/tougao/11466088.html

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

发表评论

登录后才能评论

评论列表(0条)

保存