如何使用计算的值来计算另一个
问题描述:
我用mysql如何使用计算的值来计算另一个
我有一个查询如下图所示
Select
cost,
(service_charge*(cost-Discount)) as service_charge,
(service_tax*(cost-Discount+(service_charge*(cost-Discount)))) as service_tax
From VENDOR_ITEMS
WHERE vendor_items_id = 264
我的问题是,我得到尽可能service_charge
i的值可以使用在计算service_tax
??
请让我知道这是可能的
答
不能使用计算出的值来计算另一个,但你可以用variables:
SELECT
cost,
@sc := (service_charge*(cost-Discount)) as service_charge,
(service_tax*(cost-Discount+(@sc))) as service_tax
FROM
VENDOR_ITEMS
WHERE
vendor_items_id = 264
答
你不得不重复表达
Select cost ,
(service_charge*(cost-Discount)) as service_charge ,
(service_tax*(cost-Discount+((service_charge*(cost-Discount))*(cost-Discount)))) as service_tax
From VENDOR_ITEMS WHERE vendor_items_id = 264
非常感谢你 – Pawan 2014-11-20 21:07:12
我可以初始化sc为零? (service_charge的值) – Pawan 2014-11-20 21:10:25
@PreethiJain当然你可以'SELECT @sc:= 0 AS service_charge',但不需要将@ sc'初始化为零,它会计算每一行。您必须确保在设置完成后使用它。 – fthiella 2014-11-20 21:14:14