la création d'alias dans SQL Server
-
10-10-2019 - |
Question
Comment nous pouvons créer alias d'une colonne dans la table dans SQL Server?
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