Erreur ORA-00979 Grouping_ID/Fonction CUBE

Résolu/Fermé
pililpilapaipai Messages postés 2 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 14 janvier 2011 - 13 janv. 2011 à 17:14
pililpilapaipai Messages postés 2 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 14 janvier 2011 - 14 janv. 2011 à 09:45
Bonjour,


J'ai effectué la requête suivante sous oracle:

SELECT *
FROM
(
SELECT GROUPING_ID( col1,col2) AS SS_TOTAL,col1, col2, sum(col3)
FROM TABLE1
GROUP BY CUBE(col1,col2)
)
WHERE SS_TOTAL = 2

afin de ne pas ramener toutes les combinaisons possibles comme le fait la fonction CUBE.

Cela fonctionne.

Le problème est que si je crée la une table telle que :

CREATE TABLE AS
(SELECT *
FROM
(
SELECT GROUPING_ID( col1,col2) AS SS_TOTAL,col1, col2, sum(col3)
FROM TABLE1
GROUP BY CUBE(col1,col2)
)
WHERE SS_TOTAL = 2
)

Un message d'erreur apparait empêchant ainsi la création de la table:

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

Auriez vous une idée de l'origine de l'erreur??

merci d'avance.

1 réponse

pililpilapaipai Messages postés 2 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 14 janvier 2011 1
14 janv. 2011 à 09:45
Bonjour,


En fait, c'est bon j'ai trouvé, il faut toutes les colonne soient utilisées dans le GROUPING_ID() i.e ne pas prendre les colonnesqui sont vides.

Merci pour ce qui ont commencé à chercher qqchose.

Bonne journée
1