Oracle无效标识符ORA-00904

时间:2014-11-11 04:00:19

标签: sql oracle

我一直在试图运行这个简单的加入.....

SELECT docregitem.reviewdate, docregitem.nclient, client.name
FROM docregitem, client
     INNER JOIN client
      ON docregitem.nclient = client.nclient

ORA-00904: "DOCREGITEM"."NCLIENT": invalid identifier

我可以选择并且所有列都存在且正确...

2 个答案:

答案 0 :(得分:1)

我认为您想要的查询是:

SELECT dr.reviewdate, dr.nclient, c.name
FROM docregitem dr INNER JOIN
     client c
     ON dr.nclient = c.nclient;

您的from子句中有逗号。这很像cross join,但它会影响列。这些在on子句中是未知的,这是造成问题的原因。

答案 1 :(得分:1)

SELECT docregitem.reviewdate, docregitem.nclient, client.name
FROM docregitem
INNER JOIN client
ON docregitem.nclient = client.nclient

你尝试这个,因为你使用客户端表两次使用简单连接而其他使用内连接而不给表添加别名,因此编译器在选择和比较来自客户端表的列时会感到困惑。