0

我有一个包含多个连接的大型查询,包括一个子查询(保存为视图)。基本上它看起来像这样。

Select 
 sum(a.amount), 
 case when a.criteria1 = 'c' then 'something' 
  when v.min_rank = 2 then 'something else'
  ....
  else 'other' end
from main_table a
left join view v
 on a.column1 = v.column1
group by
 case when a.criteria1 = 'c' then 'something' 
  when v.min_rank = 'd' then 'something else'
  ....
  else 'other' end

视野在哪里

select min(c.rank) as min_rank, a.column1
from main_table a
left join crieria c
on c.criteria = a.some_column
group by a.column1

甲骨文

由于某种原因,聚合导致我的子查询(视图)不加入(v.columns 为空)。(如果我不求和并按 v.columns 不为空删除组)用临时表替换子查询可以解决问题,但我不清楚为什么。他们是创建临时表的解决方案,还是可能的原因(内存问题?)?

谢谢

4

0 回答 0