如何根据其他列的条件创建列计算查询 [英] How to create query with column computation based on condition from other column

查看:69
本文介绍了如何根据其他列的条件创建列计算查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我有一张SQL表:





Hi I have a SQL table:


SrNo Name     Amount  ApplyTax
1    John     500      Yes 
2    Peter    700      No
3    Tom      900      Yes





如果我想对那些将ApplyTax作为1的人征收20%的税,我该怎么做一个查询:



我需要的输出是



If I want to levy tax at 20% on those who have ApplyTax as 1, how do I do that in one query:

The output I need is

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





我是SQL新手所以任何帮助都会太棒了



谢谢,

T



I am new to SQL so any help would be great.

Thanks,
T

推荐答案

试试这个,

Try this,
select SrNo,Name,Amount,case when ApplyTax='Yes' then (Amount*0.2) else 0 end as Tax  from Table



这里我使用了(金额* 0.2),其中相当于金额的20%。


Here I have used (Amount*0.2), which is equal to 20% of Amount.

20% Amount = (Amount/100)*20


您可以使用案例声明

https:/ /msdn.microsoft.com/en-us/library/ms181765.aspx [ ^ ]



You can use Case Statement
https://msdn.microsoft.com/en-us/library/ms181765.aspx[^]

select SrNo,name ,Amount,case when ApplyTax='Yes' then (Amount*20)/100 when ApplyTax='No' then 0 end as Tax From table_name 


尝试:

Try:
SELECT SrNo, Name, Amount, 
   CASE WHEN ApplyTax='Yes' THEN (Amount * 20) / 100 ELSE 0       
   END AS Tax 
FROM MyTable


这篇关于如何根据其他列的条件创建列计算查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆