SQL Select 使用 IF 语句并将数学应用于条件的语句
SQL Select Statement using IF statement and applying math to conditions
希望在 select SQL 查询中填充临时总值字段,但此临时字段是使用两个值的数学运算创建的。如果满足某个条件,则应应用某个数学,如果不满足,则应用另一个数学,依此类推。
示例:
SELECT Price, Quantity, Type,
CASE WHEN Type = 'Fixed' THEN ((Price * Quantity)/100)
WHEN Type = 'Option' THEN ((Price * Quantity)*100)
ELSE (Price * Quantity)
END AS Value
FROM Holding..Position
你快到了...
SELECT Price
, Quantity
, [Type]
, CASE WHEN [Type] = 'Fixed' THEN ( (Price * Quantity) * 1.00 /100)
WHEN [Type] = 'Option' THEN ( (Price * Quantity) * 1.00 * 100)
ELSE (Price * Quantity) * 1.00
END AS Value
FROM Holding..Position
乘以 1.00
以确保您得到答案中的小数位。
您的查询看起来不错。如果要将列添加到 table,可以使用计算列:
alter table holding..Position
add Value as (CASE WHEN [Type] = 'Fixed' THEN (Price * Quantity)/100
WHEN [Type] = 'Option' THEN (Price * Quantity)*100
ELSE (Price * Quantity)
END);
希望在 select SQL 查询中填充临时总值字段,但此临时字段是使用两个值的数学运算创建的。如果满足某个条件,则应应用某个数学,如果不满足,则应用另一个数学,依此类推。
示例:
SELECT Price, Quantity, Type,
CASE WHEN Type = 'Fixed' THEN ((Price * Quantity)/100)
WHEN Type = 'Option' THEN ((Price * Quantity)*100)
ELSE (Price * Quantity)
END AS Value
FROM Holding..Position
你快到了...
SELECT Price
, Quantity
, [Type]
, CASE WHEN [Type] = 'Fixed' THEN ( (Price * Quantity) * 1.00 /100)
WHEN [Type] = 'Option' THEN ( (Price * Quantity) * 1.00 * 100)
ELSE (Price * Quantity) * 1.00
END AS Value
FROM Holding..Position
乘以 1.00
以确保您得到答案中的小数位。
您的查询看起来不错。如果要将列添加到 table,可以使用计算列:
alter table holding..Position
add Value as (CASE WHEN [Type] = 'Fixed' THEN (Price * Quantity)/100
WHEN [Type] = 'Option' THEN (Price * Quantity)*100
ELSE (Price * Quantity)
END);