我正在使用JSP和Servlet (IDE: Eclipse, Container: Tomcat7.0, DB: Oracle 10)开发web应用程序
我想在一个查询中从两个表中获取数据
查询:
query = "select * from PROTOCOL as a, ACTIONS as b where a.PROTOCOL_ID = b.PROTOCOL_ID";
但是在运行应用程序后,我得到以下异常:
java.sql.SQLException: ORA-00933: SQL command not properly ended
查询有什么问题吗?
问题是关键字AS
。这用于SELECT
部分中的列。对于指定表的FROM
无效。
select * from PROTOCOL as a, ACTIONS as b
select * from PROTOCOL a, ACTIONS b...
From Oracle Docs
t_alias
指定关联名称,该名称是表、视图、物化视图,或用于计算查询的子查询。别名是如果选择列表引用任何对象类型属性或对象类型方法。关联名称最常用于相关查询。对表、视图或物化的其他引用整个查询中的视图必须引用此别名。
例子:
SELECT select_list
FROM table1 t_alias1
WHERE expr operator
(SELECT column_list
FROM table2 t_alias2
WHERE t_alias1.column
operator t_alias2.column);
别名语法错误。试试以下命令:
query = "select * from PROTOCOL a,ACTIONS b where a.PROTOCOL_ID = b.PROTOCOL_ID";
这里有一个评论,任何人可能需要它。PostgreSQL似乎在FROM/JOIN