SQL中如何利用存储过程插入多条数据并更新?

例如:我现在有一张销售统计表"TJHZ表(统计汇总)",它的数据都是由其他表里来的"SALE表(每日销售个数)"等等;
现在要做的是:用一个存储过程计算出在自定义时间区间内(例如:"2014-1-1"至"2014-7-1")以下参数的值(多条记录,必须按月统计完在求和)
时间区间(例如自定义时间区间为:"2014-1-1"至"2014-7-1"时,计算出每个月的时间区间间隔30天)
销售总数(每个月的销售总数,从多个地区表中查出)
剩余库存(每个月的库存件数,从多个地区表中查出)等等等等
该如何写存储过程(要求不用虚拟表)
不能一个INSERT INTO SELECT 出来,因为条件都不一样,比如销售数的条件为销售日期在自定义时间区间里,但是其他指标有可能条件为进货日期,地区代码等等,所以肯定需要拼接SQL,求的就是这个拼SQL的办法,求大神不惜赐教!

虽然有点模糊,不过我觉得你用嵌套查询+分组是可以达到目的的。比如安装商品名来分组:

select t1.商品名,t1.销售总数,t2.剩余库存 from 
(select 商品名,销售总数 from a,b,c where ...条件随便写..) as t1,
(select 商品名,剩余库存 from a,b,c where ...条件随便写..) as t2
where t1.商品名=t2.商品名
group by 商品名

追问

如果我有80多张表,这种方法还适用吗?80张表,只多不少
还有就是:
where t1.商品名=t2.商品名 and t1.地区=t2.地区 and 等等...也可以用吗?

温馨提示:答案为网友推荐,仅供参考
相似回答