本人工作单位是一家橡塑产品制造企业,05年2月单位领导要求我开发一个生产流程数据核对表,用来稽核流程数据的准确性,其报表基本原理如下:
后续工序今日正品数 + 后续工序今日废品数 = 本工序今日正品数 + 本工序今日留存数 - 本工序昨日留存数
了解了原理后马上开工,第一次考虑用临时表:
select distinct LEFT(productid, 4) + '00' as productid into #productid from yuancaiFlow_view where productiondate = '2004-3-1' and productid like '01____' go select a.productid, b.productname, isnull(hj.GoodQty, 0) as hj_good, isnull(hjtoday.qty, 0) as hj_today, isnull(hjyesterday.qty, 0) hj_yesterday, isnull(hj.GoodQty, 0) - isnull(hjtoday.qty, 0) + isnull(hjyesterday.qty, 0) - isnull(sx.GoodQty, 0) - isnull(sx.BadQty, 0) as hj_difference, isnull(sx.GoodQty, 0) as sx_good, isnull(sx.BadQty, 0) as sx_bad, isnull(sxtoday.qty, 0) as sx_today, isnull(sxyesterday.qty, 0) sx_yesterday, isnull(sx.GoodQty, 0) - isnull(sxtoday.qty, 0) + isnull(sxyesterday.qty, 0) - isnull(jt.GoodQty, 0) - isnull(jt.BadQty, 0) as sx_difference, isnull(jt.GoodQty, 0) as jt_good, isnull(jt.BadQty, 0) as jt_bad, isnull(jttoday.qty, 0) as jt_today, isnull(jtyesterday.qty, 0) jt_yesterday, isnull(jt.GoodQty, 0) - isnull(jttoday.qty, 0) + isnull(jtyesterday.qty, 0) - isnull(ph.GoodQty, 0) - isnull(ph.BadQty, 0) as jt_difference, isnull(ph.GoodQty, 0) as ph_good, isnull(ph.BadQty, 0) as ph_bad, isnull(phtoday.qty, 0) as ph_today, isnull(phyesterday.qty, 0) ph_yesterday, isnull(ph.GoodQty, 0) - isnull(phtoday.qty, 0) + isnull(phyesterday.qty, 0) - isnull(zj.GoodQty, 0) - isnull(zj.BadQty, 0) as ph_difference, isnull(zj.GoodQty, 0) as zj_good, isnull(zj.BadQty, 0) as zj_bad from #productid as a, finishedproduct as b, yuancaiFlow_view as hj, basflowsubsistence as hjtoday, basflowsubsistence as hjyesterday, yuancaiFlow_view as sx, basflowsubsistence as sxtoday, basflowsubsistence as sxyesterday, yuancaiFlow_view as jt, |