То, что вы пытаетесь сделать, - это изменить поля и таблицы, к которым обращаются в запросе, из тела выражения CASE. Я переформатировал ваш код, чтобы прояснить это:
PACOTE AS (SELECT *
FROM (SELECT CASE
WHEN OE.CUST_STAT_CD = 'Prospect'
THEN (TB1.COLUMNONE, TB2.COLUMNTWO
FROM TABLEONE TB1,
TABLEONE TB2)
ELSE (L.COLUMNONE, I.COLUMNTWO
FROM TABLELOREM L,
TABLEIPSUM I)
END
)
)
Извините, но это просто запрещено в SQL. Кроме того, у вас есть псевдоним таблицы OE
, который используется в вашем выражении CASE, но не определен где-либо еще, поэтому вам сложно посоветовать, что делать. Как правило, однако, вам нужно использовать UNION, похожий на
SELECT tb1.COLUMN1, tb2.COLUMN2
FROM TABLEONE tb1,
TABLETWO tb2
WHERE oe.CUST_STAT_CD = 'Prospect'
UNION ALL
SELECT l.COLUMNONE, i.COLUMNTWO
FROM TABLELOREM l,
TABLEIPSUM i
WHERE oe.CUST_STAT_CODE <> 'Prospect'