Partage
  • Partager sur Facebook
  • Partager sur Twitter

n'arrive pas a résoudre un exercice :(

Sujet résolu
    10 juillet 2022 à 18:58:15

    Bonjour, j'ai une question d'un cours en sql que je n'arrive pas a résoudre et je me demande meme si c'est possible de le faire ou si y a une erreur dans l'énoncer ?

    la question est : donner les noms des managers des départements ayant plus de 5 employés.

    j'arrive parfaitement a donner les identifiants des managers mais pas leurs noms ...

    voici la réference


    et voici le code au quel je suis arrivé :

    il m'affiche les id mais je n'arrive pas a afficher leurs noms comme dit dans l'énnoncé, help :(

    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2022 à 10:37:30

      Bonjour,

      Tu as besoin de deux jointures vers la table employé, une pour les employés par département et une pour le manager. Du coup tu as également besoin de définir des alias pour ces tables afin qu'il n'y ait pas d'ambiguïté.

      Au passage, l'énoncé c'est "plus de 5 employés" et non "5 pile", donc le = devient un > :

      SELECT
      	M.EmpNom
      FROM
      	DEPARTEMENT D
      		INNER JOIN EMPLOYE E
      			ON D.DptNo = E.EmpDpt
      		INNER JOIN EMPLOYE M
      			ON D.DptMgr = M.EmpNo
      GROUP BY M.EmpNom
      HAVING COUNT(*) > 5
      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        11 juillet 2022 à 14:15:15

        Benzouye a écrit:

        Bonjour,

        Tu as besoin de deux jointures vers la table employé, une pour les employés par département et une pour le manager. Du coup tu as également besoin de définir des alias pour ces tables afin qu'il n'y ait pas d'ambiguïté.

        Au passage, l'énoncé c'est "plus de 5 employés" et non "5 pile", donc le = devient un > :

        SELECT
        	M.EmpNom
        FROM
        	DEPARTEMENT D
        		INNER JOIN EMPLOYE E
        			ON D.DptNo = E.EmpDpt
        		INNER JOIN EMPLOYE M
        			ON D.DptMgr = M.EmpNo
        GROUP BY M.EmpNom
        HAVING COUNT(*) > 5

        merci beaucoup je ne savais pas qu'on pouvais faire ce genre de choses, grace a vous tout fonctionne bien ;)
        • Partager sur Facebook
        • Partager sur Twitter

        n'arrive pas a résoudre un exercice :(

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown