Problème requête SQL
nico0044
-
Christounet Messages postés 1272 Date d'inscription Statut Membre Dernière intervention -
Christounet Messages postés 1272 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et tous.
J'ai un soucis au niveau d'une requête qui n'affiche pas ce que je souhaite.
Voici ma requête:
Select max(MOROUT.N°poste), MOROUT.N°de fabrication,MOROUT.Nomopération
FROM MOROUT
GROUP BY MOROUT.N°de fabrication
Cette requête ne me donne pas ce que souhaite car ce que je veux c'est avoir le numéro maximum du N°poste groupé par N°de fabrication et mettre l'opération qui correspond.
Mais le problème c'est qu'il m'affiche les N°poste groupé par Ordre de fabrication et par opérations ce que je ne veux pas.
Exemple de ce que j'ai:
N°de fabrication:1 N°poste:5 Nom opération: arrière
N°de fabrication:1 N°poste: 10 Nom opération: avant
N°de fabrication:1 N°poste: 20 Nom opération: droite
Exemple de ce que je veux:
N° de fabrication:1 N°poste(le max): 20 ( car 20>5 et 10) Nom opération: droite
Voila merci d'avance
J'ai un soucis au niveau d'une requête qui n'affiche pas ce que je souhaite.
Voici ma requête:
Select max(MOROUT.N°poste), MOROUT.N°de fabrication,MOROUT.Nomopération
FROM MOROUT
GROUP BY MOROUT.N°de fabrication
Cette requête ne me donne pas ce que souhaite car ce que je veux c'est avoir le numéro maximum du N°poste groupé par N°de fabrication et mettre l'opération qui correspond.
Mais le problème c'est qu'il m'affiche les N°poste groupé par Ordre de fabrication et par opérations ce que je ne veux pas.
Exemple de ce que j'ai:
N°de fabrication:1 N°poste:5 Nom opération: arrière
N°de fabrication:1 N°poste: 10 Nom opération: avant
N°de fabrication:1 N°poste: 20 Nom opération: droite
Exemple de ce que je veux:
N° de fabrication:1 N°poste(le max): 20 ( car 20>5 et 10) Nom opération: droite
Voila merci d'avance
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
-
bonjour,
perso je passerai par un sous-select :
Select MOROUT.N°poste, MOROUT.N°de fabrication,MOROUT.Nomopération
FROM MOROUT
WHERE MOROUT.N°poste = (Select max(MOROUT.N°poste) FROM MOROUT)
cdt -
Bonjour,
Tu peux peut-être essayer le code suivantSelect MOROUT.N°poste, MOROUT.N°de fabrication,MOROUT.Nomopération FROM MOROUT WHERE concat(cast(MOROUT.N°de fabrication as char),cast(MOROUT.N°poste as char)) IN (select concat(cast(MOROUT.N°de fabrication as char),cast(max(MOROUT.N°poste) as char)) GROUP BY MOROUT.N°de fabrication)
concat est une fonction de MySql, et permets de concaténer deux ou plusieurs variables.
cast est une fonction qui permets de convertir une variable numérique vers une variable caractère.
A plus