sql server 两个数据结构相同的表合成一个表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 两个数据结构相同的表合成一个表相关的知识,希望对你有一定的参考价值。

例如
表A
A字段1 A字段2 A字段3
表B
B字段1 B字段2 B字段3
A表和B表的字段名称完全一样
现在要将两个表合成1个表C
A字段1 B字段1 A字段2 B字段2 A字段3 B字段3
因为“A字段1”与“B字段1”,“A字段2”与“B字段2””,“A字段3”与“B字段3”名字一样,所以在C表中,“B字段1”,“B字段2”,“B字段3”要重新命名

select t1.A字段1,t2.B字段1 AS newname1,t1.A字段2,
t2.B字段2 AS newname2,t1.A字段3,t2.B字段3 asnewname3
into 表C --前提条件是没有创建表C
from 表A t1,
表B t2
where --两张表关联的条件追问

我能创建一个联合这两个表的视图么?

追答

可以 啊。
create view C表名
as
begin
select t1.A字段1,t2.B字段1 AS newname1,t1.A字段2,
t2.B字段2 AS newname2,t1.A字段3,t2.B字段3 asnewname3
from 表A t1,
表B t2
where --两张表关联的条件
end

参考技术A sql server2005
select * from
(select rowid=row_number() over (order by a.id) ,--(order by 后面的排序字段可以自己设) 这个列会把c表记录加个编号 可以自己看看row_number() 函数的用法
a.a1,a11=b.b1 ,a.a2,a22=b.b2,a.a3,a33=b.b3 --(a11,a22,a33为b表列的别名 你爱用什么名自己改)
from a join b on a.id=b.id -- (假设是通过id关联,关联条件应该会改的)
) C

以上是关于sql server 两个数据结构相同的表合成一个表的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 中是不是有一种方法可以显示两个具有相同布局并共享一些公共数据的表之间的字段差异

清除并填充SQL Server中的表

sqlserver用编程语句怎么把两个表格横向合成一个

如何使用 SSMA(用于访问 SQL Server)将具有不同列的表迁移到现有表中?

从 SQL Server 中的两个表中删除

有啥方法可以创建与 SQL Server 2005 中的视图具有相同布局的表?