Je sèche sur une requête

Résolu
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je fais actuellement une formation sur les requêtes sql.
Je sèche sur une requête:

Je pense qu'il faut passer par une requête imbriquée mais je n'ai pas encore fait ce chapitre.

La question:

Quelle bibliothèque compte le plus de salariés gagnant plus de 2 500 € ?

J'ai deux tables dans ma bdd:
Bibliothèque:

Salaries:


A mon avis cela ne doit pas être si compliqué que ça mais je suis bloqué.

Merci par avance.

Configuration: Windows / Chrome 87.0.4280.66
A voir également:

7 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

C'est marrant .. mais tes imprimes écran me donnent l'impression que tu as utilisé phpmyadmin pour les afficher...
et par conséquent.. que la BDD utilisée est Mysql et non SqlServer (forum que tu as choisi)

Pour en revenir à ta question, nulle question de requêtes imbriquées ici...
Seulement une simple jointure et l'utilisation des fonction COUNT, GROUP BY, ORDER BY et un WHERE pour la condition sur le salaire
0
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est exact, j'utilise Mysql.
Je peux transférer vers la bonne liste ou je suis obligé de le refaire dans le bon forum ?
Merci.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Je vais la déplacer.
Mais bon je t'ai déjà donné la réponse...
0
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Suis pas plus avancé...
Effectivement ça doit être faisable mais je ne trouve pas
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu veux quoi au juste ?
Tu espères qu'on te donne la requête sur un plateau ???

Je t'ai donné la réponse...

une simple jointure et l'utilisation des fonction COUNT, GROUP BY, ORDER BY et un WHERE pour la condition sur le salaire

À toi de le mettre en pratique...

tu trouveras de très nombreux exemples sur internet pour chacune de ces fonctions.
0
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Toujours pas trouvé ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Qu'as tu essayé ?

Si tu ne nous montre pas ce que tu essaies nous ne pourrons pas t'aider à corriger.

Ici on ne fournit pas la réponse toute faite mais on veut bien t'aider à la trouver..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Je n'ai pas eu de problème sur la question précédente:

19- Combien de salariés gagnent moins de 1 700 € et dans combien de bibliothèques ?

SELECT COUNT(`code_salarie`) AS NombreDeSalariés, COUNT(bible_nom) AS NombreDeBibliothèque
FROM bibliotheque, salaries
WHERE (bibliotheque.bible_id=salaries.`bible_id`) AND (Salaire<1700);

Par contre sur celle là je commence comme ça:

SELECT bible_nom FROM bibliotheque, salaries WHERE bibliotheque.bible_id= salaries.bible_id AND salaries.Salaire>2500 GROUP BY bible_nom HAVING

Mais je sèche après le HAVING je ne sais pas comment formuler le fait qu'il y ait le plus de salariés.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pourquoi veux tu faire un HAVING ?

Dans les fonctions que je t'ai cité, je t"ai parlé du ORDER BY
Tu as également oublié de compter le nombre de salarié ... (comme dans ta première requête )
0
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Dans ma réponse je ne veux voir que la bibliothèque qui a le plus de salariés ayant un salaire sup à 2500€. d'où le HAVING je pense qui doit être utile.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Fais donc la requête avec le ORDER BY ....
Une fois que tu vois la liste classée telle que tu le désires... il te suffira d'ajouter un LIMIT 1
0
stefgironde Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
SELECT bible_nom
FROM bibliotheque, salaries
WHERE bibliotheque.bible_id= salaries.bible_id AND salaries.Salaire>2500 ORDER BY Salaire DESC LIMIT 1

Du coup je me rends compte que dans aucune bibliothèque il y a plus d'un salarié gagnant plus de 2500€.

Merci.
0