我们如何在 SQL Server 的表中创建列的别名?
问问题
204 次
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 回答