Oracle CROSS JOIN example

本文介绍了一种使用SQL实现笛卡尔积的方法,并通过批量插入数据的方式填充销售预测表。具体实现上,通过跨表连接的方式生成了学校、地区与时间维度的所有组合。
笛卡尔积:

insert into t_sales_forecast
select SALES_FORECAST_SEQUENCE.nextval as id,basic.* from
(
select school_id,district_id,year_table.year,month_table.month ,500 as or_forcast,1000 as re_forcast,sysdate as update_date,'1' as user_id,sysdate as insert_date
from v_school_district
cross join
(
select level as year from dual where level>2006 connect by level<2012
) year_table
cross join
(
select lpad(level,2,0) month from dual connect by level <13
) month_table
order by school_id,district_id,year_table.year,month_table.month
) basic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值