[oracle] - SQL/NoSQL - Programmation
Marsh Posté le 03-07-2003 à 15:47:52
Bah... Tente de rajouter ta sous-requête dans le group by
Mais sinon, pourquoi tu vais pas un connect by ?
Si j'ai bien compris, c'est une seule table qui contient différents types d'entités qui sont liées entre elles de façon hiérachiques non ?
Si c'est ça, alors connect by est parfait.
Marsh Posté le 03-07-2003 à 15:16:23
Bonjour,
j'ai un petit pb en SQL...
Bon en fait je vais vous donner un exemple un peu plus simple que ce que je veux faire... mais si j'ai la reponse a ca, tout s'arrange.
Bon ben voila l'exemple permet d'obtenir different niveaux d'agregats sur une table :
supposons qu'on ait une table contenant des secteurs et des campagnes. une campagne peu appartenir a plusieurs secteurs et contient plusieurs annonceurs. Pour chaque secteur/campagne/annonceur il y a un revenu.
Je veux obtenir une liste avec pour chaque ligne le revenu du secteur et de la campagne (c les sommes des revenus)
Donc j'ai pense a ca (les abreviations sont comprehensibles je crois):
select
sct
, cmp
, sum(rev)
, (select sum(rev) from table t1 where t0.sct = t1.sct) from table t0
group by sct, cmp
Mais qd je fais ca je me prend un "ORA-0079 : N'est pas une expression group by" sur le second 'sum'
J'ai un bouquin de SQL ou il y a exctement cette requete, et ils disent que ca marche en SQL-92 (bon je sais pas ce que j'utilise : 89, 92, autre ???
L'exemple est facilement adaptable a n'importe quelle table...
Quelqu'un saurait pourquoi cette erreur... ou alors propose une solution
Merci bcp...