我一直在试图运行这个简单的加入.....
SELECT docregitem.reviewdate, docregitem.nclient, client.name
FROM docregitem, client
INNER JOIN client
ON docregitem.nclient = client.nclient
ORA-00904: "DOCREGITEM"."NCLIENT": invalid identifier
我可以选择并且所有列都存在且正确...
答案 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
你尝试这个,因为你使用客户端表两次使用简单连接而其他使用内连接而不给表添加别名,因此编译器在选择和比较来自客户端表的列时会感到困惑。