Je cherche à réaliser une requête avec Access mais je n'y arrive pas
Ci joint ma table:
Je cherche a avoir le nom de tous les employés gagnant plus que tous ceux du service 30
J'ai fait ça :
SELECT Employes.NomEmp, Employes.SalaireEmp, Employes.ServiceEmp,
MAX (Employes.SalaireEmp) AS SalaireMax
FROM Employes
WHERE ((Employes.ServiceEmp)=30);
et ça :
SELECT Employes.NomEmp, Employes.SalaireEmp, [Employes_1].[Expr1] AS SalaireMax, Employes_1.ServiceEmp
FROM Employes, Employes AS Employes_1
WHERE ((Employes.SalaireEmp)>[SalaireMax]) AND (([Employes_1].[Expr1])=Max([Employes_1].[SalaireEmp]) AND ((Employes_1.ServiceEmp)=30));
Ce que j'essaye de faire c'est avoir une liste du service 30, sortir la valeur max et ensuite la comparer au reste de la table mais pour l'instant ça marche pas trop
Tu peux faire cela en deux requêtes comme tu as essayé de le faire :
=> 1ère requête (nommée MaxService30) :
SELECT MAX (Employes.SalaireEmp) AS SalaireMax
FROM Employes
WHERE ((Employes.ServiceEmp)=30)
=> 2ème requête utilisant la 1ère :
SELECT Employes.NomEmp, Employes.SalaireEmp, Employes.ServiceEmp
FROM Employes, MaxService30
WHERE ((Employes.SalaireEmp)>MaxService30.SalaireMax)
En utilisant les fonctions de regroupement de domaine, tu peux même te passer de la 1ère requête :
SELECT Employes.NomEmp, Employes.SalaireEmp, Employes.ServiceEmp
FROM Employes
WHERE ((Employes.SalaireEmp)>DMax("SalaireEmp","Employes","ServiceEmp
=30" ))
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.