Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2007, 17h46   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 37
Points : 14
Points : 14
Par défaut pb count() dans requete

Bonjour,
a partir d'une table produit(product_id, description)
et une table item(order_id,item_id, product_id,actual_price,quantity,total)

je souhaite faire une requete qui m'affiche le product_id,description, le nombre de fois que chaque produit ont été commandés.
mais je ne parviens pas à faire mon count(product_id)

Code :
1
2
3
4
5
SELECT i.product_id AS "id", 
p.description AS "desc",
count(i.product_id)      
FROM product p, item i
WHERE p.product_id=i.product_id;
bb5477 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 17h52   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
manque le GROUP BY
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 17h53   #3
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut ,

Il te manque un group by.

Exemple

Code :
1
2
3
4
select deptno , sum(sal)
from emp
group by deptno 
Ou tu peux utiliser les fonctions analytiques.
http://lalystar.developpez.com/fonctionsAnalytiques/
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 18h05   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 37
Points : 14
Points : 14
Par défaut not a group by expression

malgré le group by, il y a une erreur:

SQL> SELECT i.product_id AS "id",
p.description AS "desc",
count(i.product_id)
FROM product p, item i
WHERE p.product_id=i.product_id
GROUP BY i.product_id; 2 3 4 5 6
p.description AS "desc",
*
ERROR at line 2:
ORA-00979: not a GROUP BY expression
SQL>

je ne vois pas où se situe le pb
bb5477 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 18h08   #5
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Essaie ça
Code :
1
2
3
4
5
6
7
 
SELECT i.product_id AS "id",
p.description AS "desc",
count(i.product_id)
FROM product p, item i
WHERE p.product_id=i.product_id
GROUP BY i.product_id,p.description ;
la synthaxe :
Code :
1
2
3
4
 
SELECT col1,col2,col3,...,coln-1 ,count(coln)
FROM TABLE
GROUP BY col1,col2,col3,...,coln-1
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 18h12   #6
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 37
Points : 14
Points : 14
ok ça marche lol... desolé, je débute avec sql

je ne valide pas encore car je n'ai pas fini ma requete, je dois encore afficher d'autres choses. merci
bb5477 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h20.


 
 
 
 
Partenaires

Hébergement Web