我需要创建一个映射两个表值的表.没有可用于连接这些表的键,但保证这两个表中的行数保证相同,并且一个中的最低ID值映射到其他表中的最低值一直到最高值.两个表中的实际ID本身会有所不同
有没有办法在SQL Server中执行此操作.
谢谢
在SQL Server 2005+中:
WITH Table1Ranked AS (
SELECT
ID,
rn = ROW_NUMBER() OVER (ORDER BY ID)
FROM Table1
),
Table2Ranked AS (
SELECT
ID,
rn = ROW_NUMBER() OVER (ORDER BY ID)
FROM Table2
)
INSERT INTO MapTable (Table1ID, Table2ID)
SELECT t1.ID, t2.ID
FROM Table1Ranked t1
INNER JOIN Table2Ranked t2 ON t1.rn = t2.rn
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
879 次 |
最近记录: |