SrNo Name Amount ApplyTax
1 John 500 Yes
2 Peter 700 No
3 Tom 900 Yes
如果我想对那些将ApplyTax作为1的人征收20%的税,我该如何在一个查询中执行此操作:
我需要的输出是
SrNo Name Amount Tax
1 John 500 100
2 Peter 700 0
3 Tom 900 180
我是SQL的新手,所以任何帮助都会很棒。
谢谢, Ť
答案 0 :(得分:1)
试试这个:
select SrNo,Name, Amount ,
case when ApplyTax = 'Yes' then Amount*0.20
else 0
end as Tax
from tablename
答案 1 :(得分:1)
如果ApplyTax
列的类型为BIT
,则可以执行以下操作:
DECLARE @t TABLE
(
SrNo INT ,
Amount MONEY ,
ApplyTax BIT
)
INSERT INTO @t
VALUES ( 1, 500, 1 ),
( 2, 700, 0 ),
( 3, 900, 1 )
SELECT SrNo ,
Amount ,
Amount * ApplyTax * 0.2 AS TaxAmount
FROM @t
输出:
SrNo Amount TaxAmount
1 500.00 100.00000
2 700.00 0.00000
3 900.00 180.00000
否则你需要应用CASE
表达式,就像@Rahul Tripathi的回答一样。