Я новичок в PL/SQL, и я стараюсь научиться этому как можно быстрее.
Я пытался сделать простой SELECT, но я наткнулся на эту ошибку.
Хотя я знаю, что это значит, я действительно не знаю, как решить эту проблему ...
Это моя часть кода:
ORA-00904 - Неверный идентификатор
SELECT
NVL(UPPER(T.COL1),'N.D.') COL1,
V.SECO,
'N' CL_MED,
V.DEST_USO,
(CASE
WHEN V.COL2 IS NULL
AND V.SECO IN ('B090','B100') THEN ''
WHEN V.COL2 LIKE 'L-DEF%'
OR V.COL2 LIKE 'L-FUI%'
AND V.SECO IN ('B090','B100') THEN 'FUI/DEF'
WHEN V.COL2 IS NULL
AND V.SECO = 'B080'
AND V.COL3 LIKE 'DEF%'
OR V.COL3 LIKE 'FUI%' THEN 'FUI/DEF'
ELSE ''
END
) FLAG_DEF_FUI
FROM TAB1 V
JOIN TAB2 C ON (V.COL4 = C.COL4
AND V.COL5 = C.COL5
AND V.COL6 = C.COL6)
JOIN TAB3 T ON (V.COL4 = T.COL4
AND V.COL5 = T.COL5
AND V.COL5A = T.COL5A
AND T.COL6 =V.COL6)
WHERE V.COL4 = :COL4
AND V.COL6 = :COL6
AND V.COL5 NOT IN
(SELECT gcm.PDR
FROM TAB4 gcm
WHERE gcm.COL6 = :COL6
)
GROUP BY (UPPER(T.COL1),V.SECO, V.DEST_USO, FLAG_DEF_FUI)
и FLAG_DEF_FUI это столбец, который вызывает эту ошибку ..... Любая помощь?!
EDIT: Я не спрашиваю, ПОЧЕМУ Я не могу использовать псевдоним в GROUP BY. Я прошу обходной путь для этой проблемы ...
Возможный дубликат [Почему не Oracle SQL позволяет использовать псевдонимы столбцов в GROUP BY статей?] (HTTP : //stackoverflow.com/questions/2681494/why-doesnt-oracle-sql-allow-us-to-use-column-aliases-in-group-by-clauses) –
это правильно '' N 'CL_MED' или это что-то вроде этого '' N '+' '+ CL_MED' в select statemnt –
@ piet.t Я знаю, что псевдонимы нельзя использовать в группе. Я просто спрашивал о том, как отредактировать запрос, чтобы он работал ... –