我正在尝试编写一个SQL语句,它在Oracle中多次重用With子句的子查询.
With mySubQ as (
...
)
Select Something
From SomeTable,
(
Select *
From mySubQ
where mySubQ.Something >= 0
) newSubQ
where mySubQ.Something = SomeTable.Something
Run Code Online (Sandbox Code Playgroud)
这给了我错误 - ORA-32034不支持使用WITH子句
我错过了什么?
您需要加入mySubQ,而不仅仅是定义它.
WITH mySubQ AS (...)
SELECT Something
FROM SomeTable
JOIN mySubQ ON mySubQ.Something = SomeTable.Something
WHERE mySubQ.Something >= 0
Run Code Online (Sandbox Code Playgroud)
如果将查询mySubQ放在子查询中,则无法mySubQ在WHERE主查询的子句中引用.每个级别的查询只能访问自己FROM和JOIN子句中的表,而不能访问子查询中的表.
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |