我需要获取其中deletedsw ='0'和eventdtm = sysdate-12的活动名称。但为了获得活动的全名,我认为它正在进行自我加入。但我不确定如何在这些查询中包含这些条件。任何人都可以请帮助连接和条件
SELECT
(DECODE(levelLess3.activitynm, NULL, '', levelLess3.activitynm || '/')) ||
(DECODE(levelLess2.activitynm, NULL, '', levelLess2.activitynm || '/')) ||
(DECODE(levelLess1.activitynm, NULL, '', levelLess1.activitynm || '/')) ||
wa.activitynm as ACTIVITYFULLNM
FROM wfaactivity wa
LEFT OUTER JOIN WFAACTIVITY levelless1 ON (wa.parentid = levelless1.wfaactivityid
AND levelless1.wfaactivityid != wa.wfaactivityid)
LEFT OUTER JOIN WFAACTIVITY levelless2 ON (levelless1.parentid = levelless2.wfaactivityid
AND levelless2.wfaactivityid != levelless1.wfaactivityid)
LEFT OUTER JOIN WFAACTIVITY levelless3 ON (levelless2.parentid = levelless3.wfaactivityid
AND levelless3.wfaactivityid != levelless2.wfaactivityid)
我想包括像
where wa.wfaactivityid=wspan.wfaactivityid
and wspan.deletedsw='0'
and to_char(wspan.eventdtm, 'yyyymmdd') >= to_char(sysdate-12,'yyyymmdd')
wspan的条件是,我们正在采取deletedsw和eventdtm另一个表
是啊,我给这样的
SELECT
(DECODE(levelLess3.activitynm, NULL, '', levelLess3.activitynm || '/')) ||
(DECODE(levelLess2.activitynm, NULL, '', levelLess2.activitynm || '/')) ||
(DECODE(levelLess1.activitynm, NULL, '', levelLess1.activitynm || '/')) ||
wa.activitynm as ACTIVITYFULLNM
FROM wfaactivity wa,WFAREPACTYSPAN wspan
where
wa.wfaactivityid=wspan.wfaactivityid
and wspan.deletedsw='0'
and to_char(wspan.eventdtm, 'yyyymmdd') >= to_char(sysdate-12,'yyyymmdd')
and
LEFT OUTER JOIN WFAACTIVITY levelless1 ON (wa.parentid = levelless1.wfaactivityid
AND levelless1.wfaactivityid != wa.wfaactivityid)
LEFT OUTER JOIN WFAACTIVITY levelless2 ON (levelless1.parentid = levelless2.wfaactivityid
AND levelless2.wfaactivityid != levelless1.wfaactivityid)
LEFT OUTER JOIN WFAACTIVITY levelless3 ON (levelless2.parentid = levelless3.wfaactivityid
AND levelless3.wfaactivityid != levelless2.wfaactivityid)
但我得到的错误ORA-00920无效的关系运算符
那么,当你添加WHERE子句时,问题在哪里呢?任何errros?你也只需要加入wspan。 – 2011-04-11 09:43:04
嗨,请参阅编辑后 – Remya 2011-04-11 10:51:26