首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle :选择Oracle中的If Oracle语句

Oracle :选择Oracle中的If Oracle语句
EN

Stack Overflow用户
提问于 2020-10-02 05:36:33
回答 2查看 48关注 0票数 0

我有两个表TestCustomer和TestEmail.I,我想检索基于email_stat的TestCustomer和外部布尔参数" noFlag ".If noFlag是"true“,获取与customer_id相关的所有电子邮件地址,其他只有"A”ones.Any帮助将不胜感激。

代码语言:javascript
复制
create table TestEmail(emai_id varchar(18),emailaddress varchar(20))

create table TestCustomer(customer_id varchar(18),emai_id varchar(18),email_stat char(1))

Insert Into TestEmail(emai_id,emailaddress)values('12345','abc@gmail.com');
Insert Into TestEmail(emai_id,emailaddress)values('123456','abcd@gmail.com');
Insert Into TestEmail(emai_id,emailaddress)values('123457','abcde@gmail.com');

Insert Into TestCustomer(customer_id,emai_id,email_stat)values('223459','12345','A');
Insert Into TestCustomer(customer_id,emai_id,email_stat)values('223458','123456','I');
Insert Into TestCustomer(customer_id,emai_id,email_stat)values('223459','123457','A');

预期输入:

customer_id=223458和noFlag=“true”

预期输出

预期输入:

customer_id=223458和noFlag='false‘

预期输出

空的结果。

EN

回答 2

Stack Overflow用户

发布于 2020-10-02 05:44:40

代码语言:javascript
复制
SELECT [DISTINCT] emailaddress 
FROM TestEmail
JOIN TestCustomer USING (emai_id)
-- insert parameter-1 instead of 223458
WHERE TestCustomer.customer_id = 223458                      
-- insert parameter-2 instead of 'noFlag'
  AND TestCustomer.email_stat = CASE WHEN noFlag = 'true' 
                                     THEN TestCustomer.email_stat
                                     ELSE 'A'
                                     END

小提琴

票数 0
EN

Stack Overflow用户

发布于 2020-10-02 11:34:14

如果你只想要电子邮件,你可以使用exists

代码语言:javascript
复制
select e.emailaddress
from testemail e
where exists (select 1
              from testcustomer c
              where c.email_id = e.email_id and
                    c.customer_id = :customer_id and
                    (c.email_stat = 'A' or :noflag = 'true')
             );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64166631

复制
相关文章

相似问题

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