日期:2014-05-19  浏览次数:20641 次

求scmail81(琳·风の狼(修罗)) 再帮帮我,谢谢!
select   (select   订料单号   from   订料表  
                              where   T.型号=型号   and   T.料名=料名   and   实际到料时间=T.来料时间)   as   订料单号,
                T.型号,T.料名,T.来料时间,T.来料数量,   T.发料单号,T.发料时间,T.发料数量,
              (select   sum(来料数)  
                            from   (
                              --期初的库存就加在这个地方   由于我不知道你期初表的结构!所以没有加!
                                      select   型号,料名,时间,来料数   from   来料表  
                                      union
                                      select   型号,料名,时间,-发料数   from   发料表)   S
                where   T.型号=S.型号   and   T.料名=S.料名   and   S.时间 <=T.时间)   as   库存
from
        (select   L.型号,L.料名,L.时间   as   来料时间,L.来料数   as   来料数量,null   as   发料单号,null   as   发料时间,null   as   发料数量,L.时间
                from   来料表   L
          Union   All
                select   F.型号,F.料名,NUll   as   来料时间   ,null   as   来料数量   ,F.发料单号,F.时间   as   发料时间,F.发料数   as   发料数量,F.时间
                from   发料表   F)T
where   T.型号= '1001 'and   T.料名= '电源 '---and   T.时间   between   '2007-04-15 'and   '2007-04-18 '      
order   by   T.时间

以上语句得到结果如下:
订料单号   型号   料名   来料时间       来料数量   发料单号   发料时间   发料数量     库存
A-1002       1001   电源   2007-04-20     500             NULL       NULL               NULL       550
NULL 1001   电源   NULL         NULL         AF-1004     2007-04-22     50         500
A-1003 1001   电源   2007-05-01     100       NULL       NULL           NULL       600
----------------------------------
总来料数/总发料数/现库存数           600             NULL           NULL                 50         600  
----------------------------------  
 
你帮我写的这个语句能不能再UNION   ALL   一条记录上去啊(上面最后那条)...
求scmail81(琳·风の狼(修罗))你好,不知道你还有没有我的原始数据!


------解决方案--------------------
declare @T table
(
订料单号 varchar(100),