SQL 服务器列别名无效

SQL Server column alias has no effect

我正在尝试重命名列名,以帮助将数据从这个数据库映射到另一个数据库以进行数据推送。

我需要做的是将 StdType 的名称更改为 IncomeType,尽管无论我如何尝试它都不会更改结果中的列名称。

这是我的 SQL 查询:

SELECT
    'AA' + CAST(ClientID AS VARCHAR) AS AAID, 
    Description, 
    Convert(Money,Amount)/100 AS Amount, 
    Note, 
    StdType FROM [Finstat_Income] AS IncomeType
INNER JOIN #Assessments A
    ON 'AA' + CAST(ClientID AS VARCHAR) = A.AAID

#Assessments 是临时的 table,它确实存在并且适用于我的其他查询。

Finstat_Income 是 table 而不是视图。我也试过带方括号和不带方括号的查询,但没有区别。

结果输出标题为:

AAID | Description | Amount | Note | StdType

我想要的输出是:

AAID | Description | Amount | Note | IncomeType

也许这个

SELECT
'AA' + CAST(ClientID AS VARCHAR) AS AAID, 
Description, 
Convert(Money,Amount)/100 as Amount, 
Note, 
StdType as [IncomeType] FROM [Finstat_Income] AS IncomeType
INNER JOIN #Assessments A
ON 'AA' + CAST(ClientID AS VARCHAR) = A.AAID

您正在为 table 添加别名,而不是列。试试这个 -

SELECT
    'AA' + CAST(ClientID AS VARCHAR) AS AAID, 
    Description, 
    Convert(Money,Amount)/100 as Amount, 
    Note, 
    StdType AS IncomeType
FROM [Finstat_Income] 
INNER JOIN #Assessments A
    ON 'AA' + CAST(ClientID AS VARCHAR) = A.AAID

将您的别名放在列名旁边。

SELECT
'AA' + CAST(ClientID AS VARCHAR) AS AAID, 
Description, 
Convert(Money,Amount)/100 AS Amount, 
Note, 
StdType AS IncomeType
FROM [Finstat_Income] 
INNER JOIN #Assessments A ON 'AA' + CAST(ClientID AS VARCHAR) = A.AAID