22,209
社区成员
发帖
与我相关
我的任务
分享
select c.grade,c.classname,b.bname,b.num,a.outnum as outnum from classtable c,book b,
(select o.classid,o.isbn,(sum(num)-2*(select sum(num) from outstock o1 where o1.classid=o.classid and state='出库退货'))
as outnum from outstock o group by classid,isbn) a where a.classid=c.classid and a.isbn=b.isbn
go
select c.grade,c.classname,b.bname,b.num,sum(case a.state when '出库退货' then -a.num else a.num end) as outnum
from outstock a
join book b on a.isbn=b.isbn
join classtable c on a.classid=c.classid
group by c.grade,c.classname,b.bname,b.num
select c.grade,c.classname,b.bname,b.num,sum(a.num)-2*sum(case a.state when '出库退货' then a.num else 0 end) as outnum
from outstock a
join book b on a.isbn=b.isbn
join classtable c on a.classid=c.classid
group by c.grade,c.classname,b.bname,b.num