Sql UNION 合并多个结果集并排序

1.建表语句及测试数据:
--创建表A
CREATE TABLE A(
	A1 int NULL,
	A2 nvArchAr(50) NULL,
	A3 decimAl(18, 0) NULL
) 
--测试数据
INSERT INTO A VALUES (1,'A1',1)
INSERT INTO A VALUES (2,'A2',1)
INSERT INTO A VALUES (3,'A3',1) 

--创建表B
CREATE TABLE B(
	B1 int NULL,
	B2 nvArchAr(50) NULL,
	B3 decimAl(18, 0) NULL
) 
--测试数据
INSERT INTO B VALUES (1,'B1',1)
INSERT INTO B VALUES (2,'B2',1)
INSERT INTO B VALUES (3,'B3',1)
INSERT INTO B VALUES (4,'B4',1)
INSERT INTO B VALUES (5,'B5',1)

2.数据预览:

A表:


B表:


3.合并数据集:

SELECT ROW_NUMBER() OVER(ORDER BY a) ROW_NUM,
       *
FROM   (
	       --结果集1
           (
               SELECT A1 AS a,
                      A2 AS b,
                      A3 AS c
               FROM   A
           )
           UNION
           --结果集2
           (
               SELECT B1 AS a,
                      B2 AS b,
                      B3 AS c
               FROM   B
           )
       )temp



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值