L'utilisation d'Alias dans la Requête Select
J'ai besoin de vous demander comment pouvez utiliser l'Alias dans la Requête Select,
J'ai besoin de cette
SELECT (Complex SubQuery) AS A, (Another Sub Query WHERE ID = A) FROM TABLE
Je soupçonne que la réponse est de changer votre
Je suis d'accord avec vous. J'ai besoin de faire cette requête efficace.
Complex SubQuery
expression scalaire dans une expression de table, mais il est difficile de déboguer le code que nous ne voyons pas.Je suis d'accord avec vous. J'ai besoin de faire cette requête efficace.
OriginalL'auteur user960567 | 2011-11-03
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas faire cela:
Vous pouvez toutefois le faire:
Ou
Le problème est que vous ne peut pas se référer à des alias de ce genre dans les clauses SELECT et where, car ils n'auront pas évaluée par le temps de le sélectionner, ou lorsqu'une partie est exécutée.
Vous pouvez également utiliser un
having
clause, mais avoir des clauses de ne pas utiliser les index et doit être évitée si possible.WHERE ID = A.SomeColumn
Vous (et les OP) sont à l'aide de
A
comme un alias de la table et comme un alias de colonne (dans des lieux différents).il fixe maintenant.
OriginalL'auteur Johan
Vous pouvez réécrire votre requête comme ceci
OriginalL'auteur wqw
Une autre solution que vous pouvez utiliser:
OriginalL'auteur Arbel Sella