在SQL中添加临时列,其中值取决于另一列

use*_*124 5 mysql sql mysql-workbench

我有这张桌子:

ID | name | result | 
--------------------    
 1 |  A   |   1    |
--------------------
 2 |  B   |   2    |
--------------------
 3 |  C   |   1    |
--------------------
 1 |  A   |   2    |
--------------------
 4 |  E   |   2    |
--------------------
Run Code Online (Sandbox Code Playgroud)

我想在| result |旁边添加一个新的临时列,其中result = 1的值应该是100,而result = 2的值应该是80,所以它应该如下所示:

ID | name | result | NewColumn|
-------------------------------    
 1 |  A   |   1    |  100     |
-------------------------------
 2 |  B   |   2    |   80     |
-------------------------------
 3 |  C   |   1    |  100     |
-------------------------------
 1 |  A   |   2    |  80      |
-------------------------------
 4 |  E   |   2    |  80      |
-------------------------------
Run Code Online (Sandbox Code Playgroud)

如何在SQL中查询?

J0e*_*gan 12

在列的列表中使用CASE表达式SELECT - 如下所示:

SELECT
    ID,
    name,
    result,
    CASE
        WHEN result = 1 THEN 100
        WHEN result = 2 THEN 80
        ELSE NULL
    END AS NewColumn
FROM YourTable
Run Code Online (Sandbox Code Playgroud)

添加其他WHEN表达式或ELSE根据需要更改表达式.