У вас есть два предложения WHERE, но только один оператор SELECT.Второе предложение WHERE находится вне скобок SELECT в скобках и поэтому не принадлежит ни к какому SELECT.
Также, как говорит @mathguy, отсутствует ключевое слово JOIN.
Перепишите операторas
SELECT *
FROM
( SELECT
CASE WHEN NAME = 'ELP' THEN 'ELP'
WHEN NAME = 'MDP' THEN 'MDP'
ELSE 'Other'
END AS P_TYPE
FROM
JOB_INFORMATION_D
INNER JOIN EVENT_F
ON EVENT_F.JOB_INFO_ROW_ = JOB_INFORMATION_D.ROW_WID
INNER JOIN CANDIDATE_D
ON CANDIDATE_D.ROW_WID = EVENT_F.CANDIDATE_ROW_WID
WHERE
STS_NAME = 'Extended' AND
STEP_NAME = 'Offer' AND
inner.PZNUM = OUTERAPP.PI_CANDIDATE_NUM
ORDER BY DT ASC
)
WHERE
ROWNUM = 1
Также есть эти inner.PZNUM
и OUTERAPP.PI_CANDIDATE_NUM
, но нет таблиц с именами inner
и OUTERAPP
.Либо этот SQL-код полностью неверен, либо вы не показали нам всю команду.
Следовательно, вы должны использовать псевдонимы таблиц, а затем добавлять к этим псевдонимам все используемые столбцы.Как и сейчас, никто не видит, к какой таблице принадлежат столбцы.
...
FROM
JOB_INFORMATION_D J
INNER JOIN EVENT_F E
ON E.JOB_INFO_ROW_ = J.ROW_WID
INNER JOIN CANDIDATE_D C
ON C.ROW_WID = E.CANDIDATE_ROW_WID
...