0

我有一个 MariaDB 数据库。我正在运行With查询。

当我运行以下查询时,它给我一个错误,即 t1 表不存在

with t1 as (select 't1'),

block1 as (

   with inner1 as (
     select * from t1
   )

   select * from inner1
   
),

block2 as (
  
  with b2inner1 as(
    select * from block1
  ),

  b2inner2 as(
    select * from block1
  )
  
  select * from b2inner2

)
select * from block2;

但是,如果我删除 block2 则查询有效。

with t1 as (select 't1'),

block1 as (

   with inner1 as (
     select * from t1
   )

   select * from inner1
   
)

select * from block1;

我的问题是我没有在 block2 子查询中使用 t1 那么为什么查询会给出错误。

我认为发生错误是因为我在 block2 查询中选择了 block1 的结果两次。小提琴手

4

0 回答 0