sql - 如何在 SQL 报告中添加条件搜索条件
问题描述
我正在使用 Northwinds Trader 数据库处理 SQL 问题,并尝试打印包含OrderID
订单的运费和运费的报告。问题是如果成本 >= 500 美元,此表必须显示 20% 税的运费成本。如果 Freight >= 500,我将如何编写将 Freight 显示为 Freight + (Freight * .20) 的查询?
我目前的查询如下:
SELECT OrderID, FreightCost = Freight + (Freight * .20)
FROM Orders
WHERE Freight >= 500
解决方案
您可以使用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