Frage

Wie wir alias eine Spalte in der Tabelle in SQL Server erstellen?

War es hilfreich?

Lösung

Erstellung von Alias-Namen ist sehr einfach

SELECT tableColumnName as ColumnAlias FROM Table

Eine andere Sache, die Nutzung der Aliase ist, müssen Sie daran denken, dass die Aliase verfügbar sind nach der Projektion (Auswahl), dies bedeuten, dass Sie nicht diese Aliase in FROM, WHERE, GROUP BY, HAVING Abschnitten verwenden können. Darf nur in ORDER BY.

EDIT: Verwendung von Aliasnamen

Tabellen:

STACK 
 - STACK_ID
 - STACK_NAME
 - STACK_ORDER
 - STACK_MIN
 - STACK_MAX

Falsche Anweisung:

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

Wir verwenden in WHERE Abschnitt Spalten, die auf dieser Ebene nicht zur Verfügung steht.

Um dies zu lösen, haben wir zwei Optionen

Option One - Wir machen die Berechnung in dem Statement

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

Option Zwei - Wir schaffen eine temporäre Tabelle

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;

Andere Tipps

select somecolumn as foo from bar where foo = 5
SELECT columnname AS [ColumnAliasName] FROM [TableName]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top