sql select语句显示结果,如果source=B存在,则使用source B生成结果,否则使用source O生成结果
我想从报表源“B”中选择报表(如果存在),否则从报表源“O”中选择报表sql select语句显示结果,如果source=B存在,则使用source B生成结果,否则使用source O生成结果,sql,Sql,我想从报表源“B”中选择报表(如果存在),否则从报表源“O”中选择报表 select r.rep_id, r.rep_name, r.rep_status, r.rep_source o.cmp_id, o.cmp_company_name, o.cmp_company_al from company o, report r where o.cmp_id = r.rep_cmp_id a
select r.rep_id,
r.rep_name,
r.rep_status,
r.rep_source
o.cmp_id,
o.cmp_company_name,
o.cmp_company_al
from company o,
report r
where o.cmp_id = r.rep_cmp_id
and r.rep_status in ('N','A')
and r.rep_source = ???decode;
输出示例:
代表id代表姓名代表状态代表来源cmp代表id cmp公司名称cmp公司名称
100 REP-2000 A O 144 ASM辅助支持管理
120 REP-9900 A B 144 ASM辅助支持管理
如果rport源为B,我需要结果。如果公司没有来自此源的报告,则显示报告源为O的报告
因此,在这种情况下,要显示的结果是:
120 REP-9900 A B 144 ASM辅助支持管理
我认为这将对您有所帮助:(当您想在rep_source中选择char'B'时,如果存在其他'O'。请使用下面的代码。) 否则,如果要获取具有“B”或“O”值的rep_源。请这样做:
select r.rep_id,
r.rep_name,
r.rep_status,
r.rep_source,
o.cmp_id,
o.cmp_company_name,
o.cmp_company_al
from company o,
report r
where o.cmp_id = r.rep_cmp_id
and r.rep_status in ('N','A')
and r.rep_source ='B' or r.rep_source ='O'
到目前为止,您尝试了什么…?
r.rep_source='B'或r.rep_source='O'
如果报告源为B,我希望得到结果。如果公司没有来自此源的报告,则显示报告源为O
select r.rep_id,
r.rep_name,
r.rep_status,
r.rep_source,
o.cmp_id,
o.cmp_company_name,
o.cmp_company_al
from company o,
report r
where o.cmp_id = r.rep_cmp_id
and r.rep_status in ('N','A')
and r.rep_source ='B' or r.rep_source ='O'