I'm new to PL/SQL and I'm trying to learn it as fast as I can.
I was trying to do a simple SELECT but I came across this error.
Although I know what it means, I really don't know how to solve the problem...
This is my portion of code:
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)
and FLAG_DEF_FUI is the column that causes this error..... Any help?!
EDIT: I'm not asking WHY I can't use an alias in a GROUP BY. I'm asking a workaround for this problem...