bonjour j'ai un souci pour tirer une donnée
concrètement c'est quoi???
j'ai une bdd Mysql avec des id des l'état des pièces générées et la date d'enregistrment. l'état varie de nt(pièce entrée mais non traitée),puis a, b, c et d(les statuts de traitement). la pièce ayant pour id 10 lorsqu'elle est traitée passe par l'état a puis b puis c ainsi de suite.
id etat date
5 nt 2011-10-1010:28:43
2 a 2011-01-23 13:49:12
2 b 2011-05-12 08:32:24
10 a 2012-01-01 12:12:45
10 b 2012-01-20 17:30:34
10 c 2012-02-29 15:54:05
2 c 2011-11-02 10:12:25
L'idée c'est de prendre toutes qui ont été traitée,et leur statut actuel avec date, donc d'avoir:
2 c 2011-11-02 10:12:25
10 c 2012-02-29 15:54:05
Quand j'essaie j'ai plutôt ça comme réponse
id etat date
2 a 2011-11-02 10:12:25
10 a 2012-02-29 15:54:05
il prend les premiers états mais les bonnes dates.
1 2 3 4 5 6
| select ID , ETAT,MAX(date)
from table
where ID
in
(select ID from table where ETAT="a")
GROUP BY ID; |
jai aussi fait ca mais sur mysql browser ca ne marche pas:
1 2 3 4 5 6
| select ID , ETAT,DATE
from table
where (ID )
in
(select ID from table where ETAT="a")
AND (date) IN (select MAX(DATE) from table group by ID); |
Partager