la creazione di alias in SQL Server
-
10-10-2019 - |
Domanda
Come possiamo creare alias di una colonna della tabella in SQL Server?
Soluzione
La creazione di alias è molto facile
SELECT tableColumnName as ColumnAlias FROM Table
Un'altra cosa è l'uso degli alias, è necessario ricordare che gli alias sono disponibili dopo la proiezione (selezione) Questo significa che non è possibile utilizzare queste alias nelle sezioni FROM, WHERE, GROUP BY, HAVING
. È consentito solo in ORDER BY
.
EDIT: Utilizzo di alias
Le tabelle:
STACK
- STACK_ID
- STACK_NAME
- STACK_ORDER
- STACK_MIN
- STACK_MAX
dichiarazione errata:
SELECT
STACK_NAME,
STACK_MIN,
STACK_MAX,
STACK_MIN + STACK_MAX as STACK_SUM
FROM
STACK WHERE STACK_SUM = 10;
Usiamo in DOVE colonna di sezione che non è disponibile a questo livello.
Per risolvere questo abbiamo due opzioni
Option One - Facciamo il calcolo in cui istruzione
SELECT
STACK_NAME,
STACK_MIN,
STACK_MAX,
STACK_MIN + STACK_MAX as STACK_SUM
FROM
STACK WHERE STACK_MIN + STACK_MAX = 10;
Opzione Due - Creiamo una tabella temporanea
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;
Altri suggerimenti
select somecolumn as foo from bar where foo = 5
SELECT columnname AS [ColumnAliasName] FROM [TableName]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow