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

有帮助吗?

解决方案

创建别名非常容易

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;

我们在此级别上无法使用的部分列中使用。

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

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

    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;

其他提示

select somecolumn as foo from bar where foo = 5
SELECT columnname AS [ColumnAliasName] FROM [TableName]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top