我有一个包含id, items
列的表格:
ID Items
----------------
1 mc3
2 mc2
3 mc1
我想将这些数据插入到临时表中,但是项目的顺序是降序的,即
ID Items
--------------
1 mc1
2 mc2
3 mc3
但我不能接受这些项目的订单。 items
列具有重复值。我试图使用标识列,但这是一个糟糕的主意。我将展示该查询。
DECLARE @totalNO INT = 0
SET @totalNO = (SELECT COUNT(*) FROM @tblmc)
SELECT IDENTITY(INT, @totalNO, -1) RowIndex1, *
INTO #tempmcfordesc
FROM @tblmc.
但此查询会导致错误。还有其他方法吗?我可以循环表并插入但我只是想知道有没有任何简单的方法。请解决这个问题。
答案 0 :(得分:1)
如果你已经创建了临时表,那么使用它:
INSERT INTO #temptable
SELECT Row_Number()
OVER (
ORDER BY ID DESC) AS ID,
Items
FROM yourtable
如果你还没有创建临时表,那么用这样的数据创建它:
SELECT Row_Number()
OVER (
ORDER BY ID DESC) AS ID,
Items
INTO #temptable
FROM yourtable