如何使用计算的值来计算另一个

问题描述:

我用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 
+0

非常感谢你 – Pawan 2014-11-20 21:07:12

+0

我可以初始化sc为零? (service_charge的值) – Pawan 2014-11-20 21:10:25

+0

@PreethiJain当然你可以'SELECT @sc:= 0 AS service_charge',但不需要将@ sc'初始化为零,它会计算每一行。您必须确保在设置完成后使用它。 – fthiella 2014-11-20 21:14:14

你不得不重复表达

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