示例视图:
create or replace view test_sel as
select *
from xyz
where processdte in (select distinct PROCESS_DTE
from ABC
where STATUS = 'Y'
);
要求:
如果状态为是,则应执行表的选择,否则应显示消息,说明请等待或等等。
请指导如何实现相同的目标
答案 0 :(得分:0)
这样的事情可能是:
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;
答案 1 :(得分:0)
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;