在一个应用系统,提供了运行 ORQCLE SQL 的功能。对于简单的 SQL 语句的运行一切正常,而对于有子查询的复杂 SQL 语句,经常会出现错误。但是,这个语句在 DQL PLUS 中运行完全没有问题。
比如:ORA-00907: 缺少右括号。
开始,完全不得要领,最后发现,是子查询中一定要有一个 where 子句。
select id, xm from ry a,
(select id, sum(gz) from gz) b
where a.id = b.id
就要在子查询中加上一个 where 子句,只要是肯定为真的条件都可以。写成:
select id, xm from ry a,
(select id, sum(gz) from gz where id > 0) b
where a.id = b.id