Bonjour,
J'ai quelques difficultés à faire une requête SQL qui parrait pourtant facile.
J'ai 2 tables "etape" et "commande_has_etape".
Commande_has_etape (#id_commande, #id_etape, date)
Etape (id_etape, typedetape)
Mon objectif est de ramener pour chaque commande le typedetape dont l'id_etape est le plus grand.
Exemple avec des jeux d'essais:
Lignes de la table:
Résultat voulu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 id_commande id_etape typedetape 1 1 envoi 1 2 reception 1 3 validation 2 2 reception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 id_commande id_etape typedetape 1 3 validation 2 2 reception
Résultat actuel...
...avec cette requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 id_commande id_etape typedetape 1 3 envoi 2 2 reception
En faite il ne fait plus le lien entre la description et le max (ce qui me parait un peu normal puisque il ne pourrait pas le faire avec une fonction autre de groupe)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT COMMANDE_HAS_ETAPE.id_commande, MAX(COMMANDE_HAS_ETAPE.id_etape), ETAPE.id_etape, ETAPE.typedetape FROM COMMANDE_HAS_ETAPE, ETAPE WHERE ETAPE.id_etape = COMMANDE_HAS_ETAPE.id_etape GROUP BY COMMANDE_HAS_ETAPE.id_commande
Savez vous comment résoudre ce pb?
Merci d'avance.
Partager