[Oracle 9i] Traitement SQL et comparaison de dates
Bon, là je suis perdu :(
Voilà ce que je souhaitais faire :
j'ai
Entité---Date---Note---Agence
A---22/11/2005---B---A1
A---17/09/2003---A---A1
A---24/04/2005---C---A2
A---29/08/2003---B---A2
et je souhaite arriver à :
A---22/11/2005---B---A1
A---22/11/2005---C---A2 (car la note d'A2 est C depuis 24/04/05)
A---17/09/2003---A---A1
A---17/09/2003---B---A2 (car la note d'A2 est B depuis 29/08/2003)
Et là je m'enfonce dans ma requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
SELECT *
FROM maTable a
LEFT JOIN (SELECT c.code_entite,
c.date as date_ant,
c.note as note_ant,
c.agence
FROM maTable c
WHERE c.date =
(SELECT max(mc.date)
FROM maTable mc
WHERE mc.date =
(SELECT mcb.date
FROM maTable mcb
WHERE mcb.date=mc.date)
AND mc.agence='MO')
and c.agence='MO'
) b
ON a.date >= nvl(b.date_ant, '01/01/0001')
AND a.code_entite=b.code_entite
AND a.agence='SP'
WHERE a.agence='SP' |
qq1 aurait une idée simple ?