Groupe par alias (Oracle)
Comment 'group by' une requête à l'aide d'un alias, par exemple:
select count(*), (select * from....) as alias_column
from table
group by alias_column
- Je obtenir 'alias_column' : INVALID_IDENTIFIER message d'erreur. Pourquoi? Comment le groupe de cette requête?
Vous devez vous connecter pour publier un commentaire.
Groupement fonctionne normalement, si vous répétez l'expression respective dans la clause GROUP BY. Le simple fait de mentionner un alias n'est pas possible, parce que l'SÉLECTIONNEZ l'étape est la dernière étape pour arriver à l'exécution d'une requête, le regroupement se produit plus tôt, lorsque les noms d'alias ne sont pas encore définies.
De GROUPE PAR le résultat d'une sous-requête, vous aurez à faire un petit détour et l'utilisation d'une requête imbriquée, comme indiqué ci-dessus.
Nid de la requête avec la colonne alias:
Dans Oracle vous ne pouvez pas utiliser un alias dans la clause group by.
Utiliser un pseudonyme pour Oracle, vous devez vous assurer que l'alias a été défini par votre requête au moment où l'alias est utilisé.
La façon la plus simple pour ce faire est tout simplement de traiter la requête d'origine comme une sous-requête, dans ce cas,
devient
Je ne peux pas parler pour les conséquences de performance, mais il est très rapide à écrire si vous essayez de ré-utiliser un alias dans votre requête de jeter le tout entre parenthèses et de sauter d'un niveau de...
Si vous n'avez pas à utiliser un alias, vous pourriez faire de cette façon:
Au lieu d'utiliser des alias et des sous-requête.