一尘不染

SQL内联if语句类型问题

sql

我想进行一个(MS)SQL查询,该查询返回如下内容:

Col1 Col2                  Col3
---- --------------------- ------
AAA  18.92                 18.92
BBB  20.00                 40.00
AAA  30.84                 30.84
BBB  06.00                 12.00
AAA  30.84                 30.84
AAA  46.79                 46.79
AAA  86.40                 86.40

其中,当Col1 = AAA时,Col3等于Col2;当Col1 = BBB时,Col3是Col2的两倍。有人可以指出我正确的方向吗?


阅读 193

收藏
2021-05-16

共1个答案

一尘不染

您没有提到您正在使用哪种数据库。这将在SQL Server中起作用:

SELECT Col1, Col2, 
    CASE WHEN Col1='AAA' THEN Col2 WHEN Col1='BBB' THEN Col2*2 ELSE NULL END AS Col3
FROM ...
2021-05-16