Sql 如何在查询中从中选择数据进行计算
我的表有1000行和两个主列(Sql 如何在查询中从中选择数据进行计算,sql,Sql,我的表有1000行和两个主列(invoice\u no,exe\u amount),我想编写以下查询: select invoice_ no, exe_amount, exe_amount*0.02 as edu_duty, exe_amount*0.01 as ed_duty, (exe_amount + edu_duty + ed_duty) as sub_total, subtotal*0.0605 as st
invoice\u no
,exe\u amount
),我想编写以下查询:
select invoice_ no,
exe_amount,
exe_amount*0.02 as edu_duty,
exe_amount*0.01 as ed_duty,
(exe_amount + edu_duty + ed_duty) as sub_total,
subtotal*0.0605 as st_amount,
sub_total*.0103 as ot_amount,
exe_amount + subtotal + st_amount + ot_amount as gd_amount
from table1;
若我用变量来处理它,查询会给出多个值的错误
我该如何处理这个问题?有任何解决问题的教程链接吗?计算时不能使用别名
select invoice_ no,
exe_amount,
exe_amount*0.02 as edu_duty,
exe_amount*0.01 as ed_duty,
(exe_amount + (exe_amount*0.02) + (exe_amount*0.01)) as sub_total,
((exe_amount + (exe_amount*0.02) + (exe_amount*0.01)))*0.0605 as st_amount,
(exe_amount + (exe_amount*0.02) + (exe_amount*0.01)) *.0103 as ot_amount,
( exe_amount +
(exe_amount + (exe_amount*0.02) + (exe_amount*0.01)) +
((exe_amount + (exe_amount*0.02) + (exe_amount*0.01)))*0.0605 + (exe_amount + (exe_amount*0.02) + (exe_amount*0.01)) *.0103
) as gd_amount
from table1;
将本机更改为上面的一个是
SELECT invoice_ no,
exe_amount,
edu_duty ,
ed_duty,
sub_total,
subtotal*0.0605 as st_amount,
sub_total*.0103 as ot_amount,
exe_amount + subtotal + (subtotal*0.0605) + (sub_total*.0103) as gd_amount
FROM (
select invoice_ no,
exe_amount,
exe_amount*0.02 as edu_duty,
exe_amount*0.01 as ed_duty,
(exe_amount + (exe_amount*0.02) + (exe_amount*0.01)) as sub_total
from tableName
)t
你的dbms是什么?mysql?sqlserver?oracle?这个查询有什么问题?你的错误是什么?