我试图创建以下视图:
CREATE OR REPLACE VIEW AlbumDistribution AS
SELECT Album.Album_ID,
Album.title,
HasTrack.tracked,
FinishedTrack.released_title,
SUBSTR(Album.Album_ID, -1) is_distributed_as
FROM Album A
JOIN HasTrack HT
ON HT.Album_ID = A.Album_ID
JOIN FinishedTrack FT
ON HasTrack.OriginatesFrom = FT.OriginatesFrom
AND HasTrack.tracked = FT.version;但是我得到了ORA-00904错误:
ERROR at line 6:
ORA-00904: "HASTRACK"."TRACKED": invalid identifier这让我感到非常困惑,因为我以前引用过HasTrack.tracked,而且没有错误。如果更改语句的顺序,将HasTrack.OriginatesFrom = FT.OriginatesFrom放在最后,则得到相同的错误,但对于HasTrack.OriginatesFrom则是如此。
发布于 2015-12-14 15:53:59
您可以为此表和其他表定义别名。您需要在整个查询过程中使用别名:
CREATE OR REPLACE VIEW AlbumDistribution AS
SELECT A.Album_ID, A.title, HT.tracked,
FT.released_title, SUBSTR(A.Album_ID, -1) is_distributed_as
FROM Album A JOIN
HasTrack HT
ON HT.Album_ID = A.Album_ID JOIN
FinishedTrack FT
ON HT.OriginatesFrom = FT.OriginatesFrom AND
HT.tracked = FT.version;https://stackoverflow.com/questions/34271266
复制相似问题