Sql server 通过向主键不是最小值的列添加1来更新列
我基本上只是尝试在表的每一行中的一列中添加1,该列的主键不是最小值。我把代码放在下面。有人能帮我解释一下逻辑吗Sql server 通过向主键不是最小值的列添加1来更新列,sql-server,sql-update,Sql Server,Sql Update,我基本上只是尝试在表的每一行中的一列中添加1,该列的主键不是最小值。我把代码放在下面。有人能帮我解释一下逻辑吗 UPDATE MyTable SET LineNumber = (case when TableID != min(TableID) then LineNumber + 1) FROM MyTable 那怎么办 UPDATE MyTable SET LineNumber = LineNumber +1 WHERE TableID != MIN(TableID) FROM My
UPDATE MyTable
SET LineNumber = (case when TableID != min(TableID) then LineNumber + 1)
FROM MyTable
那怎么办
UPDATE MyTable SET LineNumber = LineNumber +1 WHERE TableID != MIN(TableID) FROM MyTable
你在找这样的东西吗
update MyTable
set LineNumber = LineNumber + 1
where
TableID > (SELECT MIN(TableID ) FROM MyTable)
你应该用where作为答案,但如果你真的想用case语句,你可以这样做
UPDATE
MyTable
SET LineNumber =
CASE WHEN TableID = (SELECT MIN(TableID) MinID FROM MyTable)
THEN LineNumber
ELSE LineNumber+ 1
END
FROM
MyTable;
UPDATE
MyTable
SET LineNumber =
CASE WHEN TableID = (SELECT MIN(TableID) MinID FROM MyTable)
THEN LineNumber
ELSE LineNumber+ 1
END
FROM
MyTable;