首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T查询中的条件

T查询中的条件
EN

Stack Overflow用户
提问于 2020-03-23 05:25:37
回答 2查看 44关注 0票数 0

名为Fruit的表具有IDFruit nameCostNew Cost

代码语言:javascript
复制
  |ID | Fruit Name | Cost | New Cost
  +---+------------+------+---------
  | 1 | Apple      |  10  |    9 
  | 2 | Banana     |  20  |   22
  | 3 | Orange     |  33  |   33

我想在一个条件下查询这张表。如果新成本大于成本,那么最终成本应该是0.9*否则最终成本应该是新成本。

输出应该如下所示:

代码语言:javascript
复制
  | ID | Fruit Name | Final Cost 
  +----+------------+-----------
  | 1  | Apple      |    9  
  | 2  | Banana     |   18    
  | 3  | Orange     |   29.7 

不幸的是,我无法在SQL查询中应用If条件。有办法做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-23 05:33:48

您可以使用案例逻辑来得出结果集。

代码语言:javascript
复制
SELECT ID
, FruitName
, CASE WHEN [New Cost] > [Cost] THEN 0.9 * [Cost] 
       ELSE [New Cost] 
       END AS [Final Cost]
FROM 
Fruit
票数 0
EN

Stack Overflow用户

发布于 2020-03-23 05:33:24

请核对一下这个答案

代码语言:javascript
复制
DECLARE @table TABLE
(
    ID INT IDENTITY(1,1) PRIMARY KEy,
    FruteName NVARCHAR(200),
    Cost DECIMAL(10,2),
    NewCost DECIMAL(10,2)
)

INSERT INTO @table VALUES('Apple','10',9),('Banana','20',22),('Orange','33',33)

SELECT *, IIF(NewCost>=Cost,(Cost*0.9),NewCost) AS FinalCost
FROM @table

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60808326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档