我如何更正此sql CASE语句?

问题描述 投票:0回答:2

我已经尝试用多种方式编写此语句。我已经在youtube上,谷歌搜索,阅读书籍并查看了示例。我仍然收到以下代码的语法错误。我敢肯定,我可能已经看完了,这是一个简单的错误。帮帮我!我在做什么错?

这些是一系列问题。我在#4上(所有其他问题都已正确执行)。

  1. 营销部门想知道Road-650自行车当前是否有10种以上的款式。使用产品表,使用IF THEN逻辑创建一个语句,以触发是否有10个以上的Road-650自行车车位可用。提交语句和查询结果。
  2. 营销部门已决定在促销活动中只使用黑色的Road-650自行车。但是,市场营销部门可能想在以后修改销售。使用DECLARE和SET语句将变量颜色预先设置为“黑色”。使用该变量,运行查询以显示所有类型的自行车,包括所有字段。
  3. 基于问题两个活动,分别添加“数量”和“标价”。将结果过滤为仅“成品存储”中的项目。
  4. 根据问题三的活动,市场营销部门已决定,库存量超过100件的任何产品都将打折10%。所有其他产品将有5%的折扣作为促销的一部分。创建一个CASE语句,将“ ListPrice”修改为一个名为“ SalesPrice”的新字段。
DECLARE @color varchar(20)
SET @color = 'black'

SELECT Quantity, ListPrice,
CASE
IF Quantity > 100 THEN ListPrice - (ListPrice * .10)
IF Quantity < 100 THEN ListPrice - (ListPRice * .05)
ELSE NULL
END AS SalesPrice
FROM Production.Product
Inner Join Production.ProductInventory ON Production.ProductInventory.ProductID = Production.Product.ProductID
WHERE color = @color and LocationID

错误:

Incorrect Syntax near the keyword 'IF'关键字“ THEN”附近的语法不正确关键字“ THEN”附近的语法不正确]

我已经尝试用多种方式编写此语句。我已经在youtube上,谷歌搜索,阅读书籍并查看了示例。我仍然收到以下代码的语法错误。我确定我可能已经结束...

sql sql-server database case
2个回答
1
投票

将IF更改为WHEN


0
投票

您的案例陈述应类似于:

© www.soinside.com 2019 - 2024. All rights reserved.