首页 > 解决方案 > 如何在 SQL 报告中添加条件搜索条件

问题描述

我正在使用 Northwinds Trader 数据库处理 SQL 问题,并尝试打印包含OrderID订单的运费和运费的报告。问题是如果成本 >= 500 美元,此表必须显示 20% 税的运费成本。如果 Freight >= 500,我将如何编写将 Freight 显示为 Freight + (Freight * .20) 的查询?

我目前的查询如下:

SELECT OrderID, FreightCost = Freight + (Freight * .20) 
FROM Orders 
WHERE Freight >= 500 

标签: sqlazure-sql-databasenorthwind

解决方案


您可以使用CASE 语句来获得预期的结果。

当运费 >= 500 时,计算成本以显示 20% 税,否则没有变化

SELECT  [OrderID]
  ,[Freight]
  ,case when Freight >= 500 then Freight + (Freight * 0.20) else convert(float,Freight) end as FreightCost
FROM [dbo].[Orders]
order by 2 desc --using order by to show the results

在此处输入图像描述


推荐阅读