Récupérer les enregistrements les plus récent

Fermé
Samsun - 6 mars 2009 à 15:13
 NomDiDiou.. - 8 mars 2009 à 15:45
Bonjour,

Je cherche à récupérer le dernier état des mes id d'un tableau contenant plusieurs fois le meme id, en cherchant, je suis passé par l'option MAX, mais ca n'affiche jamais ce que je souhaite.


SELECT id_job,MAX(d_h_fin_job),name_code_retour_job FROM
(SELECT A1.id_job,A1.machine,A1.date_plan, A1.d_h_debut_job,A1.d_h_fin_job, A2.name_code_retour_job
FROM ta_jobs_collecte A1, code_retour_job A2
WHERE
A1.id_job like 'XCJ%'
AND
A1.date_plan >= CONVERT(DATETIME, '2009/03/02', 102)
AND
A1.date_plan <= CONVERT(DATETIME, '2009/03/03', 102)
AND
A1.code_retour_job = A2.code_retour_job
) T

WHERE name_code_retour_job in ('CODE_HELD', 'CODE_DUMMY')
GROUP BY id_job

Exemple du tableau :

id_job machine date_plan d_h_debut_job d_h_fin_job name_code_retour_job
--------------------------------------------- --------------- ------------------- ------------------- ------------------- -----------------------
XXXDBSAVE msrubidium 02/03/2009 07:00:00 02/03/2009 07:06:40 02/03/2009 07:06:40 CODE_ORDERED
XXXDBSAVE msmoselle 02/03/2009 07:00:00 02/03/2009 07:06:41 02/03/2009 09:06:41 CODE_OK
XXX02CONF msmoselle 02/03/2009 07:00:00 02/03/2009 07:06:42 02/03/2009 07:06:42 CODE_ORDERED
XXXBB_SERVICES srvbatchcalypso 02/03/2009 07:00:00 02/03/2009 07:06:42 02/03/2009 07:06:42 CODE_ORDERED
XXXBB_SERVICES srvbatchcalypso 02/03/2009 07:00:00 02/03/2009 07:06:42 02/03/2009 10:06:42 CODE_HELD

Ce que je voudrais :
XXXDBSAVE msmoselle 02/03/2009 07:00:00 02/03/2009 07:06:41 02/03/2009 09:06:41 CODE_OK
XXX02CONF msmoselle 02/03/2009 07:00:00 02/03/2009 07:06:42 02/03/2009 07:06:42 CODE_ORDERED
XXXBB_SERVICES srvbatchcalypso 02/03/2009 07:00:00 02/03/2009 07:06:42 02/03/2009 10:06:42 CODE_HELD

1 réponse

Bonjour,

Essayez déjà ça pour éclaircir votre code.

SELECT T.T1,MAX(T.T5), T.T6 FROM
(
SELECT A1.id_job AS T1,A1.machine AS T2,A1.date_plan AS T3, A1.d_h_debut_job AS T4,A1.d_h_fin_job AS T5, A2.name_code_retour_job AS T6
FROM ta_jobs_collecte A1, code_retour_job A2
WHERE
A1.id_job like 'XCJ%'
AND
A1.date_plan >= CONVERT(DATETIME, '2009/03/02', 102)
AND
A1.date_plan <= CONVERT(DATETIME, '2009/03/03', 102)
AND
A1.code_retour_job = A2.code_retour_job
) T
WHERE name_code_retour_job in ('CODE_HELD', 'CODE_DUMMY')
GROUP BY T.T1
0