SQL错误:ORA-00918:列定义不明确

SQL错误:ORA-00918:列定义不明确,sql,oracle,Sql,Oracle,请帮我找出我做错了什么: 从命令中的第1行开始时出错- CREATE VIEW VW_ROUTE AS SELECT ROUTE_NAME , FARE , DESTINATION , ROUTE_ID , STOP_NAME , TERMINUS , NUMBER_OF_STOPS FROM STOPS S LEFT JOIN ROUTE R ON S.ROUTE_ID = R.

请帮我找出我做错了什么:

从命令中的第1行开始时出错-

CREATE VIEW VW_ROUTE AS
  SELECT ROUTE_NAME
       , FARE
       , DESTINATION
       , ROUTE_ID
       , STOP_NAME
       , TERMINUS
       , NUMBER_OF_STOPS
  FROM STOPS S
    LEFT JOIN ROUTE R
        ON S.ROUTE_ID = R.ROUTE_ID
 WHERE NUMBER_OF_STOPS > ('1')

两个表中的列名相同。添加别名

CREATE VIEW VW_ROUTE AS
SELECT ROUTE_NAME
       , FARE
       , DESTINATION
       , S.ROUTE_ID          -- ROUTE_ID exists in table STOPS/ROUTE
       , STOP_NAME
       , TERMINUS
       , NUMBER_OF_STOPS
FROM STOPS S
LEFT JOIN ROUTE R
  ON S.ROUTE_ID = R.ROUTE_ID
WHERE NUMBER_OF_STOPS > ('1');

最佳做法是在所有事件中使用别名以避免歧义。

发布您要加入的表架构。我假设您引用的列存在于两个表中,您需要使用表引用(别名)。+eleventy million用于语句“在所有出现的情况下使用别名以避免歧义”!
CREATE VIEW VW_ROUTE AS
SELECT ROUTE_NAME
       , FARE
       , DESTINATION
       , S.ROUTE_ID          -- ROUTE_ID exists in table STOPS/ROUTE
       , STOP_NAME
       , TERMINUS
       , NUMBER_OF_STOPS
FROM STOPS S
LEFT JOIN ROUTE R
  ON S.ROUTE_ID = R.ROUTE_ID
WHERE NUMBER_OF_STOPS > ('1');