Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
812 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORA-00979: N'est pas une expression GROUP BY

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ORA-00979: N'est pas une expression GROUP BY

n°1459160
eliane1
Posté le 17-10-2006 à 22:06:16  profilanswer
 

Bonjour à tous, c'est mon premier message mais surement pas mon dernier.
 
Je vous explique mon problème.
 
J'ai 4 tables:
 
<<Table>>Bibliothèques
{Clé primaire : NoBiblio}
NoBiblio : INTEGER
NomBiblio : VARCHAR(30)
-----------------------
 
<<Table>>Exemplaires
{Clé primaire : NoExempl}
NoExempl : INTEGER
NoBiblio : INTEGER
NoLivre : INTEGER
------------------------
 
<<Table>>Livres
{Clé primaire : NoLivre}
NoLivre : INTEGER
Titre : VARCHAR(100)
NoAuteur : INTEGER
------------------------
 
<<Table>>Auteurs
{Clé primaire : NoAuteur}
NoAuteur : INTEGER
NomAuteur : VARCHAR(30)
PrenomAuteur : VARCHAR(30)
-------------------------
 
-La table Exemplaires est liée à la table Bibliotheques par NoBiblio
-La table Exemplaires est liée à la table Livres par NoLivre
-La table Livres est liée à la table Auteurs par NoAuteur
 
 
Je dois donc pour chaque livre, donner le nombre d'exemplaires détenu par chaque bibliotheque et afficherer :
--le numero du livre,
--son titre,
--le nom de son auteur,
--le nom de la bibliotheque,
--le nombre d'exemplaires,
--le tout trié par numéro de livre et nom de bibliothèque
 
Présentement voici ma requête:
 
SELECT e.NoLivre, Titre, NomAuteur, nomBiblio, COUNT(*) AS NOMBRE
FROM Livres l, Exemplaires e, Bibliotheques b, Auteurs a
WHERE e.NoBiblio = b.NoBiblio
AND l.NoLivre = l.NoLivre
AND l.NoAuteur = a.NoAuteur
GROUP BY e.NoLivre, nomBiblio
/
 
(J'utilise ORACLE)
Le truc c'est qu'elle me retourne : ORA-00979: N'est pas une expression GROUP BY
 
Je ne comprends pas pourquoi... Si je comprends bien, le COUNT(*) compte tous les enregistrements retourné selon le GROUP BY(ici 2 colonnes).. alors logiquement pour chacun des enregistrement contenant les mêmes valeurs pour ces 2 colonnes cela devrais me retourner le nombre d'occurence..je ne vois pas le problème.
 
Si quelqu'un pouvais m'aider ce serait bien parce que c'est pour un TP et je retrouve le même problème dans plusieurs numéros.
 
Merci d'avance.

mood
Publicité
Posté le 17-10-2006 à 22:06:16  profilanswer
 

n°1459169
grisensko
Posté le 17-10-2006 à 22:25:28  profilanswer
 

Je suis loin d'être un pro ... mais je suis tanné de chercher pour mon problème alors je vais essayer kke chose :D
 
SELECT e.NoLivre NoLivre, l.Titre Titre, a.NomAuteur Auteur, b.nomBiblio Biblio, COUNT(e.NoExempl) AS NOMBRE  
FROM Livres l, Exemplaires e, Bibliotheques b, Auteurs a  
WHERE e.NoBiblio = b.NoBiblio  
AND l.NoLivre = l.NoLivre  
AND l.NoAuteur = a.NoAuteur  
GROUP BY e.NoLivre, b.nomBiblio

n°1459173
eliane1
Posté le 17-10-2006 à 22:31:07  profilanswer
 

Sa me donne exactement la même erreur:
 
ERREUR a la ligne 1 :
ORA-00979: N'est pas une expression GROUP BY
 
Merci d'avoir essayé. Je crois que c'est directement lié a Oracle.
Ou p-e que c'est moi qui pige pas le rôle de COUNT ou de GROUP BY...

n°1459261
grisensko
Posté le 18-10-2006 à 04:34:24  profilanswer
 

Enleve le AS ... laisse :COUNT(e.NoExempl) NOMBRE

n°1459269
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 18-10-2006 à 07:27:20  profilanswer
 

faut mettre dans le GROUP BY tous les champs de ton SELECT sauf le COUNT
 
GROUP BY e.NoLivre, b.nomBiblio, l.Titre, a.NomAuteur


---------------
J'ai un string dans l'array (Paris Hilton)
n°1459280
orafrance
Posté le 18-10-2006 à 08:53:44  profilanswer
 

GROUP BY e.NoLivre NoLivre, l.Titre Titre, a.NomAuteur Auteur, b.nomBiblio Biblio
 
ou fonction analytique.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ORA-00979: N'est pas une expression GROUP BY

 

Sujets relatifs
[access] limiter les resultats retournés dans un group by - Résolu !group by sur un champ contenant des valeurs null sous oracle
[ORA] - Optimisation d'une requetequelle expression régulière pour trouver un caractère précis ?
EJB select plante avec ORA constraint violation[SQL] Prendre les enregistrements valeur max par catégorie (GROUP BY)
GROUP BY sur deux caracteres d'un champsExpression reguliere : Comment Ecrire ...?
sql, GROUPexpression reguliere
Plus de sujets relatifs à : ORA-00979: N'est pas une expression GROUP BY


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR