IF / WHEN SQL中的语句

时间:2013-09-16 23:40:21

标签: mysql mysql-workbench

我正在尝试使用特定数据集声明变量并在MySQL Workbench中计算字段。以下是我要提取的数据示例:

select
product.id as "Product ID",
product.name as "Product Name",
product.type as "Product Type",
product.weight as "Product Weight",
product.amount as "Product Amount",
product.cost as "Product Cost"

我在下面有所有适当的连接,但是我想创建一个我可以用来操作的附加变量,在这种情况下,将其声明为“总成本”。但总成本会因“产品类型”而有所不同。因此,如果产品类型是“可变的”,我会将总成本计算为产品(product.cost * product.weight),如果产品类型是“固定的”,我将总成本计算为(product.cost *) product.amount)。

让我知道是否有办法构建IF函数并在我加入之前将其声明为有价值。

谢谢!

杰夫

1 个答案:

答案 0 :(得分:1)

您在WHERE子句中添加的内容也会过滤行数。所以这显然不是要走的路。如果您只想获得一个将要计算的附加值,并根据您应该使用CASE语句的其他字段。

select blah, blah, blah,
    case product.type
        when 'variable' then product.cost * product.weight
        when 'fixed' then product.cost * product.amount
    end TotalCost
from blah blah

link中的更多信息。