请帮我找出我在这里做错了什么:
从第 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');
好的做法是在所有出现的情况下都使用别名以避免歧义。
关于SQL 错误 : ORA-00918: column ambiguously defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33899425/