2015-03-19 156 views
1
SrNo Name  Amount ApplyTax 
1 John  500  Yes 
2 Peter 700  No 
3 Tom  900  Yes 

條件創建列運算查詢。如果我想在20%的那些誰ApplyTax爲1,我該怎麼辦徵收的稅收,在一個查詢:如何根據其他列

的輸出我需要的是

SrNo Name  Amount Tax 
1 John  500  100 
2 Peter 700  0 
3 Tom  900  180 

我是SQL新手,所以任何幫助將是偉大的。

感謝, 牛逼

回答

1

試試這個:

select SrNo,Name, Amount , 
case when ApplyTax = 'Yes' then Amount*0.20 
else 0 
end as Tax 
from tablename 
1

如果ApplyTaxBIT類型的,你可以這樣做:

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的答案。