【问题标题】:How to join to an alias column in SQL Server?如何加入 SQL Server 中的别名列?
【发布时间】:2013-07-25 16:02:46
【问题描述】:

我有以下问题。当输入为空时,我想用别名为“代码”的“黄色代码”列替换它。当我尝试将别名列 'Code' 内部联接到另一个表上的 'GrantCode' 时,我收到以下错误描述:“列名 'Code' 无效”。

无论如何要绕过这个?

【问题讨论】:

  • 您能发布您的查询吗?您可能在尝试在JOIN 中使用它的同一查询中定义别名,您需要将别名放在子查询中或在JOIN 中使用CASE 语句
  • 是的,别名是在同一个查询中定义的,我在连接中使用了 case 语句。
  • 另一种常见的处理方式是通过 CTE: ;With subquery AS (SELECT blah from First Table) SELECT * FROM subquery INNER JOIN otherQuery ON blah.

标签: sql sql-server inner-join alias


【解决方案1】:

SELECT-column 别名实际上是应用于语句的最后一件事,因此不适用于构成整个查询的一部分的“下层”连接。但是,如果从外部选择中引用,您可以访问别名

例如

select my_code from
(
select 1 as my_code from ....
) x

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多