Question

Comment nous pouvons créer alias d'une colonne dans la table dans SQL Server?

Était-ce utile?

La solution

Création d'alias est très facile

SELECT tableColumnName as ColumnAlias FROM Table

Une autre chose est l'utilisation des alias, vous devez vous rappeler que les alias sont disponibles après la projection (choisir) cela signifie que vous ne pouvez pas utiliser ces alias dans les sections FROM, WHERE, GROUP BY, HAVING. Est autorisé seulement dans ORDER BY.

EDIT: Utilisation des alias

Tableaux:

STACK 
 - STACK_ID
 - STACK_NAME
 - STACK_ORDER
 - STACK_MIN
 - STACK_MAX

fausse déclaration:

    SELECT 
     STACK_NAME, 
     STACK_MIN, 
     STACK_MAX, 
     STACK_MIN + STACK_MAX as STACK_SUM 
   FROM 
    STACK WHERE STACK_SUM = 10;

Nous utilisons dans WHERE colonne de section qui ne sont pas disponibles à ce niveau.

Pour résoudre cela, nous avons deux options

Option One - Nous faisons le calcul où instruction

    SELECT 
     STACK_NAME, 
     STACK_MIN, 
     STACK_MAX, 
     STACK_MIN + STACK_MAX as STACK_SUM 
   FROM 
    STACK WHERE STACK_MIN + STACK_MAX = 10;

Deuxième option - Nous créons une table temporaire

WITH STACK_SUM_TAB AS (
 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_MIN + STACK_MAX as STACK_SUM 
 FROM STACK 
)

 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_SUM 
 FROM STACK_SUM_TAB WHERE STACK_SUM = 10;

Autres conseils

select somecolumn as foo from bar where foo = 5
SELECT columnname AS [ColumnAliasName] FROM [TableName]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top