Partage
  • Partager sur Facebook
  • Partager sur Twitter

ORACLE ECHEC REQUETE

Sujet résolu
    24 novembre 2011 à 16:15:16

    Bonjour à tous
    voilà je suis sous oracle sous virtual box et je voudrais faire une requête me permettant d'Affichez le nom et le prénom des acteurs qui ont joué dans des films sortis entre 1990 et 2000, avec pour chacun des acteurs le nombre de films de cette période dans lesquels il a joué.

    donc voici la requête et ci dessous le résultat obtenu

    SELECT NOM, PRENOM, ANNEESORTIE, COUNT(CODEFILM)
    FROM PERSONNE
    INNER JOIN FILM
    ON FILM.CODEREALISATEUR=PERSONNE.CODEPERSONNE
    WHERE ANNEESORTIE IN (SELECT ANNEESORTIE FROM FILM WHERE ANNEESORTIE BETWEEN 1990 AND 2000)
    GROUP BY PERSONNE.NOM

    il me met ORA-00979: N'est pas une expression GROUP BY
    si j'enlève le group by : ORA-00937: la fonction de groupe ne porte pas sur un groupe simple
    et si j'enlève le count la j'ai mon résultat mais sans le comptage
    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      24 novembre 2011 à 16:20:04

      GROUP BY PERSONNE.NOM, PERSONNE.PRENOM, PERSONNE.ANNEESORTIE
      Il faut prendre tous les champs du select sauf le count bien sur
      • Partager sur Facebook
      • Partager sur Twitter
      Ca ne marche pas, ça ne veut rien dire ! Qu'est ce qui ne marche pas ?
        24 novembre 2011 à 16:27:16

        MERCI BEAUCOUP!
        MAIS POURQUOI LE COUNT NE MARCHAIT PAS QUAND ON ENLEVAIT LE GROUP BY?
        • Partager sur Facebook
        • Partager sur Twitter
          24 novembre 2011 à 16:30:51

          Comment veux-tu que ta base sache quelles informations renvoyées ?
          Tu lui demandes la liste des acteurs, une année de sortie et le nombre de film pour cet acteur sans faire de regroupement des 2 premières informations, c'est impossible.
          Tu peux faire un count(film) pour une année et un acteur donné dans ton where (par exemple) mais tu ne peux pas rajouter des champs en plus du count dans ton select sans group by
          • Partager sur Facebook
          • Partager sur Twitter
          Ca ne marche pas, ça ne veut rien dire ! Qu'est ce qui ne marche pas ?
            24 novembre 2011 à 16:34:44

            ok je te remercie pour ton aide très instructive!
            • Partager sur Facebook
            • Partager sur Twitter

            ORACLE ECHEC REQUETE

            × 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