Sql 表\u名称。*当表\u名称给定别名时,标识符无效

Sql 表\u名称。*当表\u名称给定别名时,标识符无效,sql,oracle11g,Sql,Oracle11g,当我在一系列内部联接之后进行SELECT查询,询问特定表的所有值时,应用程序会抱怨我使用了table_name.*表示它是“无效标识符” 这就是我所得到的一切 SELECT tab_a.* * ERROR at line 1: ORA-00904: "TAB_A": invalid identifier 我正在使用Oracle的服务器软件。以下是代码的相关部分: WHERE tab_b.bar LIKE 'b'; SELECT

当我在一系列内部联接之后进行SELECT查询,询问特定表的所有值时,应用程序会抱怨我使用了table_name.*表示它是“无效标识符”

这就是我所得到的一切

    SELECT tab_a.*
                 *
    ERROR at line 1:
    ORA-00904: "TAB_A": invalid identifier 

我正在使用Oracle的服务器软件。

以下是代码的相关部分:

WHERE tab_b.bar LIKE 'b';
    SELECT tab_a.*

分号结束第一个查询。第二个查询不完整,因为它没有where子句。因此,出现了错误。

以下是代码的相关部分:

WHERE tab_b.bar LIKE 'b';
    SELECT tab_a.*

分号结束第一个查询。第二个查询不完整,因为它没有where子句。因此,出现了错误。

结果是,我为查询中的表提供了一个别名。出于某种原因,当在查询中为表指定别名时,Oracle无法识别该表的原始名称,这正是问题的根源所在

我的问题的一个简单解决方案是替换所有这类实例

    tab_a.*
用这个

    ta.*
如果我在FROM子句中为tab_a指定一个别名

    FROM tab_a ta

结果是,我为查询中的表指定了一个别名。出于某种原因,当在查询中为表指定别名时,Oracle无法识别该表的原始名称,这正是问题的根源所在

我的问题的一个简单解决方案是替换所有这类实例

    tab_a.*
用这个

    ta.*
如果我在FROM子句中为tab_a指定一个别名

    FROM tab_a ta

嗯?WHERE后面的SELECT tab_a不正确。@OldProgrammer您是说WHERE tab_b.bar后面的SELECT语句像“b”?因为那部分代码实际上是错误报告的一部分。我将对其进行编辑以使其更清晰。对此我很抱歉,但我刚刚意识到我保留了一些解决问题所需的信息。原来我在FROM子句中有表别名,这首先导致了问题,因为出于某种原因Oracle无法识别表的原始名称。对你们这么做我觉得很傻,所以我只回答我自己的问题。嗯?WHERE后面的SELECT tab_a不正确。@OldProgrammer您是说WHERE tab_b.bar后面的SELECT语句像“b”?因为那部分代码实际上是错误报告的一部分。我将对其进行编辑以使其更清晰。对此我很抱歉,但我刚刚意识到我保留了一些解决问题所需的信息。原来我在FROM子句中有表别名,这首先导致了问题,因为出于某种原因Oracle无法识别表的原始名称。我觉得对你们这样做很愚蠢,所以我只回答我自己的问题。分号用来表示查询的结束。之后的SELECT语句实际上是我收到的错误消息的一部分,不是我在进行查询时键入的。分号用于指示查询结束。之后的SELECT语句实际上是我收到的错误消息的一部分,而不是我在进行查询时键入的内容。