Sql 在oracle中从多个表中执行选择的视图
示例视图:Sql 在oracle中从多个表中执行选择的视图,sql,oracle,Sql,Oracle,示例视图: create or replace view test_sel as select * from xyz where processdte in (select distinct PROCESS_DTE from ABC where STATUS = 'Y' ); 要求: 如果状态为“是”,则应执行表格选
create or replace view test_sel as
select *
from xyz
where processdte in (select distinct PROCESS_DTE
from ABC
where STATUS = 'Y'
);
要求:
如果状态为“是”,则应执行表格选择;如果状态为“否”,则应显示消息,说明“请稍候”或其他内容
请指导如何实现同样的目标,例如:
create or replace view test_sel as
select xyz.* ,
case abc.STATUS
when 'Y' then ''
else 'Please wait'
end as Message
from xyz join (select PROCESS_DTE, MAX(STATUS) as STATUS /* guessing Status Y/N/null*/
from ABC
group by PROCESS_DTE) abc
on xyz.processdte = abc.PROCESS_DTE;
我不明白。请编辑您的问题并提供示例数据和所需结果。
Sorry to post it again but not able to comment because of low experience.
Just Changed abc.processdte to abc.PROCESS_DTE in last line.
CREATE OR REPLACE VIEW test_sel AS SELECT xyz.* ,
CASE abc.STATUS
WHEN 'Y'
THEN ''
ELSE 'Please wait'
END AS MESSAGE FROM xyz JOIN
(SELECT PROCESS_DTE,
MAX(STATUS) AS STATUS
/* guessing Status Y/N/null*/
FROM ABC
GROUP BY PROCESS_DTE
) abc ON xyz.processdte = abc.PROCESS_DTE;