我正在尝试使用特定数据集声明变量并在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函数并在我加入之前将其声明为有价值。
谢谢!
杰夫
答案 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中的更多信息。