【发布时间】:2017-04-05 13:47:23
【问题描述】:
我正在尝试获取插入记录的行号,以便将其用于选择语句。我想要完成的是将一个人插入一个表中,获取该行号,然后从另一个表中选择行号匹配的内容。这是我到目前为止得到的:
INSERT INTO TableA Values (‘Person’)
Select timeToken
From
(
Select
Row_Number() Over (Order By tokenOrder) As RowNum
, *
From TableB WHERE taken = false
) t2
Where RowNum = (Row Number of Inserted Item)
如何获取插入项的行号,我想比较 id,因为某些记录可能已被删除,因此它们不匹配。
TABLEA Data (primary key is id)
id name
3 John
12 Steve
TABLEB Data (primary key is id)
id timeToken tokenOrder taken
2 1:00am 1 false
3 2:00am 2 false
5 3:00am 3 true
6 4:00am 4 false
我插入人员时的预期结果,选择会返回凌晨 4:00
我在存储过程中这样做。
【问题讨论】:
-
TableA中有rownum列吗? -
呃...我想您可能对 SQL Server 如何存储数据有些困惑。行本身并不具有“行号”。
-
不,我在 TableA 中没有 rownum 列
-
添加样本数据和预期结果
-
我添加了示例数据并期待结果
标签: sql sql-server