数据库高手请进,如何以最小的系统开支写这存储过程888
表一 com_total
子公司编号 子公司名称 进口商品总票数 出口商品总票数 免关税进口商品总票数 免关税出口商品总票数 ...
com_id com_name i_num e_num f_i_num f_e_num ...
21 上海公司
31 杭州公司
表二 im_entry_head 出口商品单证表
商品编码 商品名称 ...
entry_id entry_name ...
21100001
31100002
21100001
表三 ex_entry_head 进口商品单证表
商品编码 商品名称 ...
entry_id entry_name ...
表四 im_free 免关税进口商品表
商品编码 商品名称 ...
entry_id entry_name ...
表五 ex_free 免关税进口商品表
商品编码 商品名称 ...
entry_id entry_name ...
其中商品编码的前两位为子公司的编号 即LEFT(ENTRY_ID,1,2)和COM_ID可对应,如
商品编号 为211000001 为代码(com_code)为 21 的子公司的进出口商品
另商品单证表中的一条记录相当于一票,如 COUNT(*) FROM IM_ENTRY_HEAD 即为所有进口商品的总票数。
现要在表二 三 四 五 中分别按商品编号的前两位(即子公司)来统计各子公司进口商品总票数 出口商品总票数 免关税进口商品总票数 免关税出口商品总票数票数,然后写入表COM_TOTAL中
如何写一存储过程,以最小的系统开支实现(现实中,表COM_TOTAL要统计的字段有三十个左右,也就说要涉及30多个表,且子公司也有大概20个左右,如用子公司代码循环分别统计,虽可实现,不过系统开支将会非常的大)