L'utilisation de la valeur d'une colonne pour une autre colonne (SQL Server)?
permet de dire que j'ai un énorme select sur une table. Une valeur pour une colonne est calculée avec complexe logc et de son nom ColumnA. Maintenant, pour une autre colonne, j'ai besoin de la valeur de ColumnA et ajouter une autre valeur statique.
SQL exemple:
select table.id, table.number, complex stuff [ColumnA], [ColumnA] + 10 .. from table ...
La [ColumnA] + 10 est ce que je cherche. Le complexe des choses est un énorme cas/quand le bloc.
Idées?
OriginalL'auteur grady | 2011-03-03
Vous devez vous connecter pour publier un commentaire.
Si vous voulez faire référence à une valeur qui est calculée dans le
SELECT
clause, vous devez déplacer la requête existante dans un sous-SELECT:Vous devez introduire un alias pour ce tableau (ci-dessus,
t
, après le crochet fermant), même si vous n'allez pas l'utiliser.(De manière équivalente, en supposant que vous êtes à l'aide de SQL Server 2005 ou plus tard, vous pouvez déplacer votre requête existante dans un CTE):
D'expressions de table communes ont tendance à regarder plus propre si vous avez plusieurs niveaux de calculs partiels étant fait, I. e. si vous avez maintenant obtenu un calcul qui dépend Colonneb à inclure dans votre requête.
OriginalL'auteur Damien_The_Unbeliever
Vous pourriez résoudre ce avec une sous-requête et les alias de colonne.
Voici un exemple:
OriginalL'auteur Enrico Campidoglio
Vous pouvez:
+ 10
dans le code du clientcomplex stuff
. Il sera optimisé en un seul appel.complex stuff
logique de l'autre colonne. Il doit également être optimisée en 1 appel.OriginalL'auteur tenfour