Bonjour, je viens de passer du temps à l'élaboration d'un requête SQL.
Je vous présente ma structure :
Id = int
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 id Nom B_A E_D TYPE --------------------------------------- 1 dossier1 1 1 INT 2 dossier2 1 2 INT 3 dossier3 0 1 INT 4 dossier4 1 1 COV 5 dossier5 1 3 INT
Nom = Varchar
B_A = 0 ou 1
E_D = int
TYPE = INT ou COV ou FRE....
Voila ma requête : Je voudrais afficher chaque type de dossier (INT et COV) qui ont un B_A=1 et en cas de plusieurs choix dans le même type, prendre le E_D le plus grand.
Autrement dit :
J'élimine l'id 3 car il est en B_A = 0.
Dans les types, je regarde dans le COV, j'en ai qu'un, je le prend.
Dans les INT, j'en ai 3 mais je garde que le l'id5 car c'est lui le plus grand E_D.
Je dois pouvoir afficher seulement dossier 4 et dossier 5.
Voici mon test de requete :
Cela me renvoi les résultats 1, 2 , 4 et 5...
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT id, nom, B_A, TYPE, Max(E_D) FROM folder WHERE B_A="1" GROUP BY d, nom, B_A, TYPE
Merci beaucoup de votre aide
Partager