Calcul dans une requete SQL

Résolu/Fermé
benSQL - Modifié le 24 avril 2019 à 19:31
jee pee Messages postés 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 - 25 avril 2019 à 18:07
Bonjour,
alors j'ai actuellement un problème avec une requête , pour commencer , j'ai une requête SALARIE qui est en gros un tableau qui regroupe toute les informations sur les salariés dont leurs salaire :

la requête qui m'est demander de faire est la suivante : afficher le nom et le prénom du qui perçoit le plus grand salaire

n'étant pas très expérimenté j'utilise le monde création pour crée ma requête : j'ai donc bien mis
champ : salaire table : salarier
dans calcul j'ai mis Max quand j’exécute tout va bien , cependant il m'est demander le nom de la personne qui perçoit ce salaire , donc j'ajoute dans les colonnes de droite donc champ :nom puis table: salarier , la j'ai mis regroupement ne sachant trop quoi mettre puisque les autres ne me donne pas le résultat attendu et champ prénom la table salarié et également regroupement dans la troisième colonne

le résultat afficher me donne , tout les salaires des salarié ainsi que leurs noms et prenoms ma question est la suivante comment n'afficher que celui qui a le plus grand salaire , je ne comprends pas pourquoi le résultat me donne cela etant donné que jai bien mis max salaire.

voici le mode sql de ma requete :

SELECT Max(SALARIE.SALAIRE) AS MaxDeSALAIRE, SALARIE.NOM, SALARIE.PRENOM
FROM SALARIE
GROUP BY SALARIE.NOM, SALARIE.PRENOM;

merci de votre retours

ps : j'ai également tenter de mettre dans la feuille des priorités ; champs pere : salaire rien ne bouge

Configuration: Windows / Chrome 73.0.3683.103
A voir également:

1 réponse

jee pee Messages postés 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 9 418
24 avril 2019 à 19:30
Bonjour,

SELECT SALARIE.NOM, SALARIE.PRENOM, SALARIE.SALAIRE
FROM SALARIE 
WHERE SALARIE.SALAIRE = (SELECT MAX(SALARIE.SALAIRE) FROM SALARIE )

1
cela fonctionne merci beaucoup !
0
excuse moi de te re solicité , j'ai également des requetes dont je n'arrive pas a obtenir le resultat attendu :

-afficher la liste des salariés ( Nom Prenom) qui ont le meme salaire que CLAVIER Solene qui est une salarié ; la seul solution que j'ai trouver c'est de regarde le salaire de solene clavier et de mettre celui ci en critère , auriez vous une autre solution ?
0
jee pee Messages postés 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 9 418 > benSQL
Modifié le 25 avril 2019 à 16:59
SELECT SALARIE.NOM, SALARIE.PRENOM, SALARIE.SALAIRE
FROM SALARIE 
WHERE SALARIE.SALAIRE = (SELECT SALARIE.SALAIRE FROM SALARIE WHERE SALARIE.NOM='CLAVIER' AND SALARIE.PRENOM='Solene' )
0
jee pee Messages postés 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 9 418 > jee pee Messages postés 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024
Modifié le 25 avril 2019 à 16:59
Mais ça c'est une syntaxe ancienne, plus facile avec le max, mais qui pour ce second exemple n'est plus d'actualité.

Il vaudrait mieux quelque chose comme :
SELECT A.NOM, A.PRENOM, A.SALAIRE
FROM SALARIE A
JOIN SALARIE B ON A.SALAIRE = B.SALAIRE 
WHERE B.NOM='CLAVIER' AND B.PRENOM='Solene'

mais je ne suis pas certain de la syntaxe, c'est une forme que je n'ai jamais utilisé ;-)
0
super la premiere methode fonctionne parfaitement , savez vous si il est possible ducoup d'enlever dans le resultat, la ligne clavier solene ?
0