SQL: 改变一个列的值在另一个函数中

SQL: Change the value of a column in function of another

我从 SQL 得到一个 table,我把它放在 winform 的数据网格视图中。 我只想更改我最后一列的值以实现另一列的功能。 这是示例:

我有 4 列:ID / Price / quantity / Rank

我想说类似“如果 ID = 4 则排名 = 5,但如果 ID = 2 则排名 = 2 等...”

我试过了,但会引发错误:

SELECT TOP 1000 ID , Price , quantity , Rank, Country, 
CASE Mytable.ID
WHEN  4
THEN  Mytable.Rank = 4
END 
FROM Mytable

我收到“‘=’附近的语法不正确” 就像它不接受“=”... 有什么想法吗?

as case 表达式之后:

SELECT TOP 1000 ID , Price , quantity, Country, 
       (CASE Mytable.ID
          WHEN  4 THEN 4
        END) as rank
FROM Mytable;

如果你既想要原来的军衔又想要新的军衔,那就给他们不同的别名:

SELECT TOP 1000 ID, Price, quantity, rank, Country, 
       (CASE Mytable.ID
          WHEN 4 THEN 4
        END) as new_rank
FROM Mytable;