mssql中的两个表怎么合并成一表

来源:爱站网时间:2022-07-28编辑:网友分享
本篇文章主要介绍了mssql中的两个表怎么合并成一表的相关内容,对这方面比较感兴趣的小伙伴,接下来的时间不妨看一看爱站技术频道小编所整理的资料,或多或少能在工作中帮助到你解决困惑。

一、问题

学生表:                                               课程表:

 id   姓名 课程号(外键)                        课程号,课程名

 '1', 'xix',  1                                              1,' 语文'
 '2', 'cic',  2                                               2, '数学'
 '3', 'ddi', 4                                               3,  '英语'

将学生表、课程表合成一个新表  destTb:

id  姓名  课程号 课程名

1   xix    1    语文
2   cic    2     数学
3   ddi  NULL NULL
NULL NULL 3 英语

二、建立测试数据

CREATE TABLE student(id nvarchar(10),name nvarchar(10),cno int)
INSERT student SELECT '1','xix',1
UNION ALL SELECT '2','cic',2
UNION ALL SELECT '3','ddi',4
GO

CREATE TABLE class(cno int,name nvarchar(10))
INSERT class SELECT 1,'语文'
UNION ALL SELECT 2,'数学'
UNION ALL SELECT 3,'英语'
GO

select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno

三、合并插入

--目标表destTb不存在  ,结果集作为tmp

select * into destTb  from (select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno) as tmp

--如果目标表destTb已经存在

insert into destTb   select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno

 

看完这篇mssql中的两个表怎么合并成一表的文章后,大家都知道怎么操作比较方便了吧!为了让朋友们接触到更多不同类型的技术文章,爱站技术频道网站准备了大量资料,感兴趣可以来翻阅查看。

上一篇:MSSQL合并多行记录的操作方法

下一篇:MSSQL两个表中列的相同点和不同点

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载