【问题标题】:Getting error for invalid identifier获取无效标识符的错误
【发布时间】:2023-03-22 15:35:01
【问题描述】:
SELECT emp. email_01 as online_id,
            emp. email_02 as primary_id,
            dept. email_03 as secondary_id
from 
(select distinct
           emp. email_01 as online_id,
            emp. email_02 as primary_id,
            dept. email_03 as secondary_id
    from emp, dept
    where emp.id=dept.id)

【问题讨论】:

  • 是的,你能告诉我怎么做吗,
  • 看看this。此外,How to Askminimal reproducible example 可以帮助您改善问题
  • 好的,您对我的查询有什么建议吗?
  • 如果查询与您在帖子中显示的完全一样,那么该错误很可能是由您在表名和列名之间的句点 . 之后的空格引起的。
  • @mathguy .. 错误是 invalid identifier .. 这是由于别名造成的。

标签: sql oracle oracle11g


【解决方案1】:

在这种情况下您不需要子查询:

SELECT DISTINCT
       emp.email_01  AS online_id,
       emp.email_02  AS primary_id,
       dept.email_03 AS secondary_id
FROM   emp
       INNER JOIN dept
       ON ( emp.id=dept.id )

您还可以使用 ANSI 连接语法,而不是(令人困惑的)旧式 Oracle 逗号连接语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多