回答

收藏

sql将两个不相关的表合并为一个

技术问答 技术问答 272 人阅读 | 0 人回复 | 2023-09-14

我有桌子9 y9 j, C0 l$ @, Q' F
表格1
3 z$ \# h/ Q! V$ |2 Q  q8 i9 Jcol1    col2    a       bc       d和表2
6 F" ?9 ~7 F, m( H) G+ l( Zmycol1  mycol2e           fg           hi           jk           l如下所示:3 N4 E& t$ D* [/ K" \
表3
7 ~( G# R3 Z% u; U. j1 z* S# E  {col1    col2    mycol1  mycol2a           b   e   fc           d   g   hnull    null    i   jnull    null    k   l就像把两张桌子并排放置一样。
) m9 y& [  G! e+ o" S# y" o$ n我被卡住了!请帮忙!
: k+ O  r- m/ n( ]' g                                                               
  r; r6 p- W/ A. S- q* C    解决方案:                                                                / S7 [. a5 Q* F7 Z
                                                                为每个表中的每一行获取一个行号,然后用这些行号完全连接:. J) K" ]6 P" q% W, r2 Y: ]
WITH CTE1 AS(    SELECT ROW_NUMBER() OVER(ORDER BY col1) AS ROWNUM,* FROM Table1),CTE2 AS(    SELECT ROW_NUMBER() OVER (ORDER BY mycol1) AS ROWNUM,* FROM Table2)SELECT col1,col2,mycol1,mycol2FROM CTE1 FULL JOIN CTE2 ON CTE1.ROWNUM = CTE2.ROWNUM这是假定SQL Server> = 2005。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则