程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql語句問題 在線等-Sql聯合查詢的語句求助

sql語句問題 在線等-Sql聯合查詢的語句求助

編輯:編程綜合問答
Sql聯合查詢的語句求助

定義兩個臨時表,數據是這樣的。
insert into #table1 values (1,22)
insert into #table1 values (1,32)
insert into #table1 values (2,22)
insert into #table2 values(1,55)
insert into #table2 values (2,43)
insert into #table2 values (2,63)
我想要兩個表聯合查詢,結果如下圖:
圖片說明

最佳回答:


 SELECT t1.value1 v1,t1.value2 v2,t2.value1 v3,t2.value2 v4  FROM 
(
select t1.*, ROW_NUMBER() OVER(PARTITION BY value1 order by value1) r1 from #table1 t1
) t1 left join
(
select t2.*, ROW_NUMBER() OVER(PARTITION BY value1 order by value1) r1 from #table2 t2
) t2 on t1.r1=t2.r1 and t1.value1 = t2.value1
union
SELECT t1.value1 v1,t1.value2 v2,t2.value1 v3,t2.value2 v4 FROM 
(
select t2.*, ROW_NUMBER() OVER(PARTITION BY value1 order by value1) r1 from #table2 t2
) t2 left join
(
select t1.*, ROW_NUMBER() OVER(PARTITION BY value1 order by value1) r1 from #table1 t1
) t1 on t1.r1=t2.r1 and t1.value1 = t2.value1 

最佳回答:


danielinbiti
C_S_D_N_LHT
danielinbiti
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved