使用订单[帮助]更新行ID

时间:2014-03-31 16:05:37

标签: sql

我似乎无法让这个查询工作我很确定我有正确的但我不断出现错误。我正在尝试为行创建更新查询,并使用where子句对特定部分和连接进行排序。

这是我的问题:

With cte As
(
SELECT Products.Products.PartNumber, Products.Prices.ProductID, Products.Prices.CODE, Products.Prices.Price
ROW_NUMBER() OVER (ORDER BY Price DESC) AS RN
FROM Test
JOIN    Products.Prices
ON      Products.Products.ID = Products.Prices.ProductID
where partnumber like 'l2%'
Order by Price Desc
)
UPDATE cte SET Number=RN

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ORDER BY查询创建VIEW,而不是更新表中的行,而其他查询可以检查视图而不是行。

如果你想坚持你的桌子,你需要检查并确保设置的ROW ID不与任何其他行冲突。例如,如果ORDER BY并找到ID = 6的行作为新查询中的第一行,则使用ID = 1更新它。但是,第1行已经有ID = 1,并且与您的新行ID(以前的行ID = 6)冲突。