看起来很简单,但我找不到一个好方法: 我必须有表,每个表都有一个包含数字的列。 我需要一个包含两列的表,第一列是第一个表的列,第二列是第二个表的列。 我希望第一行由两个起始列的第一行(单个单元格)的值组成。 这两个表没有主键,我无法添加主键,它们是函数的结果。
有没有聪明的方法来做到这一点?
我无法在sry周围找到同样的问题。
答案 0 :(得分:1)
大多数人可能会使用某种类型的Windows函数,例如ROW_NUMBER(),但会在分配“主键”之前对您的值进行排序。试试这个:
CREATE TABLE #table1
(
ID INT IDENTITY(1,1),
Value INT
)
CREATE TABLE #table2
(
ID INT IDENTITY(1,1),
Value INT
)
INSERT INTO #table1(value)
SELECT col1
FROM #table1
INSERT INTO #table2(value)
SELECT col1
FROM #table2
SELECT #table1.Value,
#table2.Value
FROM #table1
INNER JOIN #table2
ON #table1.ID = #table2.ID