首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IF/CASE语句SQL

问IF/CASE语句SQL
EN

Stack Overflow用户
提问于 2016-05-10 02:02:24
回答 2查看 80关注 0票数 0

我不确定如何对此进行编码。下面是我在IF语句中需要的场景。这应该被分成两个不同的IF语句,或者我可以使用CASE吗?我是编程新手,所以任何帮助都将不胜感激。

Scenerios:如果selling_flag = 'N‘和calculation_flag = 'Y’,则返回list_price。如果selling_flag = 'Y‘和calculation_flag = 'Y’,则返回customer_price。如果calculation_flag = 'N‘,则返回unit_selling

目前我有:

代码语言:javascript
复制
IF selling_flag = 'N' AND calculation_flag = 'Y' THEN
  return list_price;
ELSE  
  return customer_price;      
END IF; 

IF calculation_flag = 'N' THEN
return selling_price;
END IF; 
END;

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-05-10 02:07:28

您可能会这样做,Case Statements PLSQL

代码语言:javascript
复制
CASE 
    WHEN selling_flag = 'N' AND calculation_flag = 'Y' THEN list_price;
    WHEN selling_flag = 'Y' AND calculation_flag = 'Y' THEN customer_price;
    ELSE selling_price;
END CASE;

其中有两个条件,如果都不满足,则缺省为selling_price。

票数 1
EN

Stack Overflow用户

发布于 2016-05-10 02:07:56

如果这是PL/SQL代码,则通常使用elsif

代码语言:javascript
复制
IF selling_flag = 'N' AND calculation_flag = 'Y' THEN
  return list_price;
ELSIF selling_flag = 'Y' AND calculation_flag = 'Y'
  return customer_price;      
ELSIF calculation_flag = 'N' THEN
  return selling_price;
END IF; 

这也可以写成:

代码语言:javascript
复制
IF calculation_flag = 'Y' THEN
  IF selling_flag = 'N' THEN
    return list_price;
  ELSE 
    return customer_price;
  END IF;     
ELSE
  return selling_price;
END IF; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37122469

复制
相关文章

相似问题

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