【发布时间】:2013-07-15 07:10:46
【问题描述】:
我正在寻找一种可靠的算法方法来在 Oracle 中嵌套查询,而无需解析和重建 SQL 语句。在 DB2、MYSQL 和 SQLITE 中,我可以简单地从内部子查询中设置的最大列嵌套到最外部查询中设置的最小列,如下所示:
SELECT A, B FROM (
SELECT A, B, C FROM (
SELECT A, B, C, D FROM (
SELECT * FROM myTable
)
)
)
)
这对 Oracle 不起作用,我必须使用 WITH 子句,但这允许我像
一样进行一级嵌套 WITH Q1 as (
SELECT * FROM myTable
)
SELECT A, B FROM Q1
有没有一种算法方法可以在上面的 DB2 或 MySQL 等 Oracle 中嵌套 select 语句
您总是可以假设它是一个表。查询是自动生成的
找到根本原因:
我的代码假定需要一个“AS 别名”并将其附加到子查询中,如“Select A, B from (select A, B, C from myTable) AS Q1” --- Oracle 不喜欢这样并给出错误“缺少右括号”
【问题讨论】:
-
您发布的代码中有太多右括号(四个右括号,但只有三个左括号)。分享和享受。