需要帮助sql查询案例

时间:2011-12-05 09:47:50

标签: sql-server-2008 case

我有桌子

s.no--------------Amount--------accCode-----discount-----status
  1-----------------20-------------2.1-------10.00------------yes
  2-----------------30-------------2.1-------6.00-------------yes
  3-----------------20-------------3.1-------10.00------------No
  4-----------------30-------------2.1-------10.00------------yes
  5-----------------40-------------3.1-------5.00-------------No
  6-----------------20-------------2.1-------10.00------------yes

我需要从表格中选择所有行及其值,但如果状态 ,我需要显示折扣金额 >否则我需要和表中相同。请有人帮我这个。谢谢大家。

2 个答案:

答案 0 :(得分:1)

这样的东西?

SELECT
   sno, amount, acccode,
   CASE [status]
     WHEN 'No' THEN 0.0
     ELSE discount
   END AS 'discount' 
FROM dbo.YourTable

答案 1 :(得分:0)

case [status]
  when 'No' then 0
  else discount
end as discount