求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),