存储过程中组建集合

  在业务层组建一个显示集合,需要多次查询数据库,多次交互. 之后被告知去写存储过程.存储过程没有集合这一说,循环控制需要用游标,不怎么会用.最后用with关键字,把每个相关表内的相关数据都取出来或sum出来,最后用共有id, left join在一起select一下,就拼接成了想要的结果集.

  这里如果直接left join 所有的表,会出现错误的重复数据,sum统计会被影响.毕竟业务有时需要从四五个表中取数据. 

  优化的话就是小表放前,大表放后.多次对一个表访问,可以先把需要访问的所有数据都先with etc出来,每次去etc中访问.这里最终left join之前,每个id在每个被join的with表里都只对应一条数据.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章