更新日期:2024年09月11日
问题现象
CTE(common table expression)语法支持。
解决方法
针对同一个FROM 子查询在SQL 中出现多次的情况,在创建计划的时候,只对
其中一个子查询创建计划,并将结果放到临时表中,其它的子查询直接使用临时
表。
打开_t_gcluster_support_cte 参数,集群支持with as 语句。
with customer_total_return as
(select sr_customer_sk as ctr_customer_sk,
sr_store_sk as ctr_store_sk,
sum(SR_STORE_CREDIT) as ctr_total_return
from store_returns, date_dim
where sr_returned_date_sk = d_date_sk
and d_year = 2000
group by sr_customer_sk, sr_store_sk)
select c_customer_id
from customer_total_return ctr1, store, customer
where ctr1.ctr_total_return >
(select avg(ctr_total_return) * 1.2
from customer_total_return ctr2
where ctr1.ctr_store_sk = ctr2.ctr_store_sk)
and s_store_sk = ctr1.ctr_store_sk
and s_state = 'MI'
and ctr1.ctr_customer_sk = c_customer_sk
order by c_customer_id limit 100;
GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
120