2012-05-30 84 views
2

为什么查询会产生这个错误?为什么“缺少右括号”错误?

ORA-00907:缺少右括号 00907. 00000 - “缺少右括号”

select * from 
(
    (select * from dual) alias1, 

    (select * from dual) alias2 
) 

我万兆得到一个错误和11g

+0

只是删除outer() – Amyth

回答

3

不正确的SQL语法。删除外部的一对括号,如下所示:

select * from 
(select * from dual) alias1, 
(select * from dual) alias2; 
1

你的括号是平衡的,但是解析器是迷茫,并在其混乱,它产生了一个次优的错误信息。

你可以写类似:

SELECT * 
    FROM (SELECT * FROM Dual) Alias1 
    JOIN (SELECT * FROM Dual) Alias2 ON 1 = 1;