从2个源表中将数据插入临时表

时间:2013-11-21 10:13:42

标签: sql sql-server-2008

我有两个SELECT语句,它们都从dirrefernt表返回13行

我想创建一个包含2列的临时表,并将2个结果行插入到2列中。有没有办法做到这一点?

所以

1 - SELECT INPOS FROM TABLE1返回

1,2,3,4,5,6,7,18,9,10,11,12,13

2 - SELECT CODE FROM TABLE2返回

CODEa所,CODEB,CODEC,编码CODEE,CODEF,CODEG,CODEH,CODEI,CODEJ,CODEK,CODEL,CODEM

我希望我的临时表格

1 | CODEA


2 | CODEB


3 | CODEC


4 | CODED


5 | CODEE


6 | CODEF


7 | CODEG


8 | CODEH


9 | CODEI


10 | CODEJ


11 | CODEK


12 | CODEL


13 | CODEM

2 个答案:

答案 0 :(得分:2)

试试这个:

WITH T1 AS (
   SELECT ROW_NUMBER() OVER(ORDER BY INPOS) ID, INPOS FROM TABLE1
),
WITH T2 AS
(
   SELECT ROW_NUMBER() OVER(ORDER BY CODE) ID, CODE FROM TABLE2
),
SELECT T1.INPOS, T2.CODE
FROM T1 INNER JOIN T2 ON T1.ID = T2.ID

答案 1 :(得分:0)

尝试这样的事情:

SELECT a.impos, b.code
FROM (
  (
    SELECT impos, RANK() OVER (ORDER BY impos ASC) AS link
    FROM table1
    ) AS a INNER JOIN (
    SELECT code, RANK() OVER (ORDER BY code ASC) AS link
    FROM table2
    ) AS b ON a.link = b.link
  )

sqlfiddle demo