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




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM