0

我们如何在 SQL Server 的表中创建列的别名?

4

3 回答 3

1

创建别名非常容易

SELECT tableColumnName as ColumnAlias FROM Table

另一件事是别名的使用,您必须记住别名在投影(选择)之后可用,这意味着您不能在FROM, WHERE, GROUP BY, HAVING部分中使用这些别名。只允许在ORDER BY.

编辑:别名的使用

表:

STACK 
 - STACK_ID
 - STACK_NAME
 - STACK_ORDER
 - STACK_MIN
 - STACK_MAX

错误的说法:

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

我们在 WHERE 部分中使用此级别上不可用的列。

为了解决这个问题,我们有两个选择

选项一 - 我们在 where 语句中进行计算

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

选项二 - 我们创建一个临时表

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;
于 2011-01-12T10:46:49.737 回答
0
select somecolumn as foo from bar where foo = 5
于 2011-01-12T10:39:25.073 回答
0
SELECT columnname AS [ColumnAliasName] FROM [TableName]
于 2011-01-12T10:40:38.840 回答