我创建了两个表,uview 和vview。
CREATE TABLE Uview
( USERID CHAR(6) NOT NULL ENABLE,
pageID varCHAR2(50) NOT NULL ENABLE,
VISIT_TIME TIMESTAMP (6) NOT NULL ENABLE,
view_TIME TIMESTAMP (6) NOT NULL ENABLE,
fview_TIME TIMESTAMP (6) NOT NULL ENABLE,
entry varCHAR2(50) NOT NULL ENABLE,
exit varCHAR2(50) NOT NULL ENABLE,
PRIMARY KEY (USERID, VISIT_TIME,viewtime) ENABLE )
CREATE TABLE vview
( VISITORID CHAR(8) NOT NULL ENABLE,
pageID varCHAR2(50) NOT NULL ENABLE,
VISIT_TIME TIMESTAMP (6) NOT NULL ENABLE,
view_TIME TIMESTAMP (6) NOT NULL ENABLE,
fview_TIME TIMESTAMP (6) NOT NULL ENABLE,
entry varCHAR2(50) NOT NULL ENABLE,
exit varCHAR2(50) NOT NULL ENABLE,
PRIMARY KEY (visitorID, VISIT_TIME,view_time) ENABLE )
现在我想用 union 对这两个表进行查询。
select userID,pageID,visit_time,view_time,fview_time,exit,entry
from uview
union
select visitorid,pageID,visit_time,view_time,fview_time,exit,entry
from vview;
但是,出现 ORA-00904 错误:“ENTRY”:此标识符无效。 即使我从查询 ORA-00904:“退出”: 无效标识符结果中删除条目。这对我来说似乎很奇怪。请告诉我出了什么问题。谢谢 。
最佳答案
Entry
是 Oracle 中的保留字:http://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm 。您必须用双引号将其转义:
SELECT .... , "entry"
FROM uview
etc...
关于sql - 联合查询不起作用,导致 ORA-00904 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255857/