Risoluzione dei problemi relativi agli errori in GROUP BY
Nella tabella seguente è incluso un elenco di messaggi di errore relativi alla clausola GROUP BY e vengono forniti suggerimenti che consentono di risolverli.
Numero di errore |
Messaggio di errore |
Modalità di risoluzione |
---|---|---|
102 |
Sintassi non corretta in prossimità di ','. |
Riscrivere la query in modo da specificare i set di raggruppamenti nella clausola GROUP BY come parte di un elenco GROUPING SETS esplicito. Ad esempio, GROUP BY C1, (C2,…, Cn) genera questo errore. Riscrivere la query come GROUP BY C1, GROUPING SETS( (C2,…, Cn) ) o GROUP BY C1, C2,…, Cn. |
130 |
Impossibile eseguire una funzione di aggregazione su un'espressione contenente un'aggregazione o una sottoquery. |
Riscrivere la query in modo tale che una sottoquery o un'aggregazione della funzione di raggruppamento non sia presente come un argomento di un'altra funzione di raggruppamento o aggregazione. |
147 |
È possibile specificare un'aggregazione in una clausola WHERE solo se è inclusa in una sottoquery di una clausola HAVING o in un elenco di selezione e la colonna da aggregare è un riferimento esterno. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalla clausola WHERE. |
157 |
Impossibile specificare un'aggregazione nell'elenco SET di un'istruzione UPDATE. |
Rimuovere la funzione di raggruppamento o l'aggregazione dall'elenco SET di un'istruzione UPDATE. |
158 |
Impossibile specificare un'aggregazione nella clausola OUTPUT. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalla clausola OUTPUT. |
162 |
La clausola TOP include un'espressione non valida. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalla clausola TOP. |
174 |
La funzione GROUPING richiede 1 argomenti. |
Modificare l'elenco di argomenti per la funzione GROUPING () in modo da comprendere esattamente 1 argomento. |
175 |
Impossibile specificare un'aggregazione nell'espressione di una colonna calcolata o in un vincolo CHECK. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalle colonne calcolate e dai vincoli CHECK nell'istruzione DDL. |
189 |
La funzione GROUPING_ID richiede da 0 a 32 argomenti. |
Ridurre il numero di argomenti per la funzione GROUPING_ID () a 32 o meno. |
1015 |
Un'aggregazione può essere inclusa in una clausola ON solo se fa parte di una sottoquery di una clausola HAVING o di un elenco di selezione e la colonna da aggregare è un riferimento esterno. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalla clausola ON. |
1028 |
Le opzioni CUBE, ROLLUP e GROUPING SETS non sono consentite in una clausola GROUP BY ALL. |
Riscrivere la query in modo da non specificare l'opzione GROUP BY ALL con le parole chiave GROUPING SETS, CUBE, ROLLUP, WITH CUBE o WITH ROLLUP. |
4101 |
Le aggregazioni specificate a destra di APPLY non possono fare riferimento alle colonne specificate a sinistra. |
Rimuovere la funzione di raggruppamento o l'aggregazione specificata a destra della clausola APPLY. |
4113 |
GROUPING | GROUPING_ID non è una funzione finestra valida e non può pertanto essere utilizzata con la clausola OVER. |
Riscrivere la query in modo da non utilizzare la funzione GROUPING () o GROUPING_ID () con una clausola OVER. |
4142 |
Nell'elenco RECEIVE non sono consentite aggregazioni. |
Rimuovere la funzione di raggruppamento o l'aggregazione dalla clausola RECEIVE. |
5310 |
Aggregazioni non consentite nell'elenco VALUES di un'istruzione INSERT. |
Rimuovere la funzione di raggruppamento o l'aggregazione dall'elenco VALUES di un'istruzione INSERT. |
8161 |
L'argomento [n] della funzione [GROUPING | GROUPING_ID] non corrisponde ad alcuna espressione della clausola GROUP BY. |
Verificare che ciascun argomento della funzione GROUPING o GROUPING_ID corrisponda a un elemento di raggruppamento nella clausola GROUP BY e che tutti gli argomenti della funzione GROUPING o GROUPING_ID abbiano lo stesso ambito. Nell'esempio seguente, il riferimento alla tabella T (dalla query principale) nella sottoquery genera un errore.
|
8661 |
Impossibile creare l'indice cluster <indexname> sulla vista <viewname> perché la chiave dell'indice include colonne che non sono comprese nella clausola GROUP BY. Provare a eliminare dalla chiave dell'indice le colonne che non sono comprese nella clausola GROUP BY. |
Non è possibile creare una vista indicizzata quando nella definizione della vista è presente una clausola GROUP BY che contiene solo l'elemento (), totale complessivo. |
10119 |
Impossibile creare <indexname> sulla vista <viewname> perché contiene un operatore CUBE, ROLLUP o GROUPING SETS. Provare a non indicizzare la vista. |
Non è possibile creare una vista indicizzata quando la definizione della vista contiene una clausola GROUP BY generale. |
10702 |
Le opzioni WITH CUBE e WITH ROLLUP non sono consentite con una specifica ROLLUP, CUBE o GROUPING SETS. |
Riscrivere la query in modo che non siano presenti combinazioni di parole chiave WITH CUBE o WITH ROLLUP non ISO e di parole chiave GROUPING SETS, CUBE o ROLLUP compatibili ISO. |
10703 |
Troppi set di raggruppamenti. Il numero massimo è 4096. |
Ridurre il numero di set di raggruppamenti in una clausola GROUP BY generale a 4096 o meno. |
10706 |
Troppe espressioni specificate nella clausola GROUP BY. Il numero massimo è 32 quando vengono forniti set di raggruppamenti. |
Ridurre il numero di elementi di raggruppamento distinti in una clausola GROUP BY generale a 32 o meno. |
10708 |
I costrutti di raggruppamento CUBE () e ROLLUP () non sono consentiti nella modalità compatibilità corrente. Sono consentiti solo in modalità 100 o superiore. |
Non è possibile utilizzare CUBE () e ROLLUP () in modalità di compatibilità 90. Utilizzare la sintassi WITH CUBE, WITH ROLLUP o GROUPING SETS. |