我有一个非常简单的问题:oracle是否允许在一条sql语句中使用多个"WITH AS".

例子:

WITH abc AS( select ......)

WITH XYZ AS(select ....) /*This one uses "abc" multiple times*/

Select ....   /*using XYZ multiple times*/

我可以通过多次重复同一个查询来实现查询,但我不想这样做,并利用"WITH AS".

ORA-00928:缺少SELECT关键字

推荐答案

你可以这样做:

WITH abc AS( select
             FROM ...)
, XYZ AS(select
         From abc ....) /*This one uses "abc" multiple times*/
  Select 
  From XYZ....   /*using abc, XYZ multiple times*/

Sql相关问答推荐

基于模式或其他行集的数据复制

使用SQL旋转表的列(Snowflake)

在SQL中创建一个计数器,根据BigQuery/SQL中的条件递归地添加行值

用于匹配红旗和绿旗的SQL查询

如何根据同一表中某一列中的值重新排列行(仅输出它们)(重新排序)?

如何将我的联接数据放入每个用户每月多行的列中?

如何从Spark SQL的JSON列中提取动态数量的键值对

Redshift PL/pgSQL循环中的参数化列名

如何计算给定日期前三个月的值以及月初数据?

属于(日期)范围类型及其交集的总权重​

如何根据 SQL 中的阈值标记一个集群中的所有值?

复制行并根据 Oracle SQL 中其他表的值更改值

SQL 根据前一天的最大值计算每天的值数

当 2 列具有静态值并且第 3 列使用运算符 IN 时,对 PostgreSQL 和 3 列上的复杂索引的最佳查询

更新之前如何获得价值

多行状态下的分组查询判断状态

使用日期和间隔作为键加入 Athena 上的表?

SQLite 中的过滤运行总和视图

多列上的 SQL UNIQUE 约束 - 它们的组合必须是唯一的还是至少其中之一?

在现有日期列的查询结果中添加周数列