两次查询条件是一样的,都是查询某天的输入数据
CREATE VIEW dbo.CK_Stock  //数据的详细AS  SELECT dbo.CKIn_sub.id,dbo.CKIn_Main.pono, dbo.CKIn_Main.gys, dbo.CKIn_Main.madedate, dbo.CKIn_Main.inuser, dbo.ckin_sub.finish_wl,      dbo.CKIn_Sub.meterial_id,dbo.CKIn_Sub.alm ru,chu=0, dbo.CKIn_Sub.pois,       dbo.CKIn_Sub.scno, dbo.CKIn_Sub.re,'进仓' as mtypeFROM dbo.CKIn_Main INNER JOIN      dbo.CKIn_Sub ON dbo.CKIn_Main.pono = dbo.CKIn_Sub.pono union allSELECT dbo.CKOut_sub.id,dbo.CKOut_Main.pono,dbo.CKOut_Main.gys, dbo.CKOut_Main.madedate,dbo.CKOut_Main.outuser,dbo.ckout_sub.finish_wl,      dbo.CKOut_Sub.meterial_id,ru=0, dbo.CKOut_Sub.alm chu, dbo.CKOut_Sub.pois,        dbo.CKOut_Sub.scno,dbo.CKOut_Sub.usetype,'出仓' as mtypeFROM dbo.CKOut_Main INNER JOIN      dbo.CKOut_Sub ON dbo.CKOut_Main.pono = dbo.CKOut_Sub.pono 
这个是方便查询详细的输入数据的存储过程,
select pono,gys,madedate,inuser,finish_wl,k.meterial_id,m.meterial_name,m.meterial_spec,m.meterial_color,m.meterial_unit,ru,chu,(SELECT SUM(b.ru-b.chu) FROM CK_STOCK b WHERE b.meterial_id= k.meterial_id and b.madedate<=k.madedate) as jie,pois,scno,k.re from CK_Stock k inner join meterial m on m.meterial_id=k.meterial_id  //详细和汇总
而这个就是查询详细和汇总的,但是单号不一样,有的时候是数值不一样,都不知道是什么原因,是缓冲慢,没释放到内存的原因吗?

解决方案 »

  1.   

    你可以使用SQL Server Profiler 跟踪下,两次查询的语句,就可以看出区别了。
      

  2.   

    最后加 order by 生产单号
      

  3.   

    我建议你将在查询语句都加上order by
      

  4.   


    跟踪看下 
    如果说查询出来的数据不一样的话一般两种情况
    1.SQL Server Profiler 跟踪下
    2.如果监控出来的sql语句一样,检查代码的逻辑
      

  5.   

    你好好看下你的 2个 SQL 肯定有不一样的 地方。要不就是你关联的时候出错了好好检查下。