栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何联接SQL Server中的多个列,并在一个表中包含其他表中不存在的列?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何联接SQL Server中的多个列,并在一个表中包含其他表中不存在的列?

declare @t1 table (col_a varchar(5) null,col_b varchar(5) null,col_c varchar(5) null,col_d varchar(5) null)declare @t2 table (col_a varchar(5) null,col_b varchar(5) null,col_e varchar(5) null)insert into @t1 values ('Cat 1','Bla a','C-1','D-1'),('Cat 1','Bla a','C-2','D-2'),('Cat 1','Bla a','C-3','D-3'),('Cat 2','Bla b','C-4','D-4'),('Cat 2','Bla b','C-5','D-5')insert into @t2 values ('Cat 1'   , 'Bla a' , 'E-1'   ),('Cat 2'   , 'Bla b' , 'E-2  ' ),('Cat 2'   , 'Bla b' , 'E-3'   ),('Cat 2'   , 'Bla b' , 'E-4')select isnull(a.col_a,b.col_a) col_a, isnull(a.col_b,b.col_b) col_b, a.col_c,a.col_d,b.col_efrom (    select *,row_number() over (partition by col_a order by col_c) rown    from @t1) afull outer join (    select *,row_number() over (partition by col_a order by col_e) rown    from @t2) b    on a.col_a = b.col_a    and a.col_b = b.col_b    and a.rown = b.rownorder by isnull(a.col_a,b.col_a),isnull(a.rown,b.rown)

使用row_number作为完全连接的一部分可以创建空值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号