大家看看这个sql该怎么写?
--表结构
create table test --出入库表
(
id int identity(1,1), --主键
货物类别 varchar(20),
货物名称 varchar(20),
货物规格 varchar(20),
货物价格 money,
出入库日期 datetime,
数量 int,
入库单编号 varchar(20),
出库单编号 varchar(20),
退库单编号 varchar(20),
出入库状态 char(1),--1代表货物入库,0代表货物出库,2代表出库退货
领用部门 varchar(20),
领用人 varchar(20)
)
--以下是入库数据
insert into test select 'a类 ', 'a1 ', '1*2 ',1000, '2007-1-1 ',10, 'rk-1 ',null,null, '1 ',null,null
insert into test select 'a类 ', 'a1 ', '1*2 ',1500, '2007-1-1 ',15, 'rk-2 ',null,null, '1 ',null,null
insert into test select 'a类 ', 'a2 ', '1*3 ',2000, '2007-1-1 ',20, 'rk-3 ',null,null, '1 ',null,null
--以下是出库数据
insert into test select 'a类 ', 'a1 ', '1*2 ',1000, '2007-1-1 ',5,null, 'ck-1 ',null, '0 ', '部门1 ', '张三 '
insert into test select 'a类 ', 'a1 ', '1*2 ',1500, '2007-1-1 ',10,null, 'ck-2 ',null, '0 ', '部门1 ', '张三 '
insert into test select 'a类 ', 'a2 ', '1*3 ',2000, '2007-1-1 ',10,null, 'ck-3 ',null, '0 ', '部门1 ', '张三 '
--以下是出库退货数据
insert into test select 'a类 ', 'a1 ', '1*2 ',1000, '2007-1-1 ',1,null,null, 'tk-1 ', '2 ', '部门1 ', '张三 '
insert into test select 'a类 ', 'a1 ', '1*2 ',1500, '2007-1-1 ',2,null,null, 'tk-2 ', '2 ', '部门1 ', '张三 '
insert into test select 'a类 ', 'a2 ', '1*3 ',2000, '2007-1-1 ',3,null,null, 'tk-3 ', '2 ', '部门1 ', '张三 '
select * from test
drop table test
/*
报表:货物出入库明细
货物类别 货物名称 货物规格 货物价格 入库单据号 入库数量 入库金额 出库单据号 出库数量 出库金额 退库单据号 退库数量 退库金额 领用部门 领用人 日期 结余数量 结余金额
a类 a1 1*2 1000 rk-1 10 10000 null 0 0 null 0 0 null null 2007-1-1 10 1