繁体   English   中英

SQL错误:ORA-00918:列模糊定义

[英]SQL Error: ORA-00918: column ambiguously defined

请帮我看看我在这里做错了什么:

从第1行开始出错:命令中为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')
 Error at Command Line : 5 Column : 10 Error report - SQL Error: ORA-00918: column ambiguously defined 00918. 00000 - "column ambiguously defined" *Cause: *Action: 

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

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');

好的做法是在所有出现时使用别名以避免歧义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM