J'ai une requête qui est censé m'afficher toutes les lignes dans Une table qui n'ont pas été mis à jour assez récemment. (Chaque ligne doit être mis à jour dans un délai de 2 mois après "month_no".):
SELECT A.identifier
, A.name
, TO_NUMBER(DECODE( A.month_no
, 1, 200803
, 2, 200804
, 3, 200805
, 4, 200806
, 5, 200807
, 6, 200808
, 7, 200809
, 8, 200810
, 9, 200811
, 10, 200812
, 11, 200701
, 12, 200702
, NULL)) as MONTH_NO
, TO_NUMBER(TO_CHAR(B.last_update_date, 'YYYYMM')) as UPD_DATE
FROM table_a A
, table_b B
WHERE A.identifier = B.identifier
AND MONTH_NO > UPD_DATE
La dernière ligne dans la clause where provoque une "ORA-00904 Identifiant Invalide erreur". Inutile de dire, je ne veux pas répéter tout DÉCODER fonction dans ma clause where. Toutes les pensées? (Les deux corrections et des solutions de contournement accepté...)