123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- select t.*,( reportery-(sumLaid+sumquit-sumuse-sumrefund) ) diff from
- (
- select storage.*,
- ifnull(laid.sumLaid,0) sumLaid,
- ifnull(u.sumuse,0) sumuse,
- ifnull(quit.sumquit,0) sumquit,
- ifnull(refund.sumrefund,0) sumrefund
- from
- (
- SELECT pr.contractid,pr.partcode, pr.reportery
- FROM part_repertory pr
- join warehouse w on w.id = pr.locationId
- WHERE w.`pastureId` = 31
- )storage
- left join
- (
- SELECT pr.contractid,sum(pl.storageAmount )sumLaid
- FROM part_repertory pr
- join warehouse w on w.id = pr.locationId
- left join partlaid pl on pr.contractId =pl.contractId and pr.locationId = pl.locationId
- WHERE w.`pastureId` = 31
- group by pr.contractId
- )laid on storage.contractId = laid.contractId
- left join
- (
- SELECT pr.contractid,sum(pu.checkoutNumber) sumuse
- FROM part_repertory pr
- join warehouse w on w.id = pr.locationId
- left join partuse pu on pr.contractId =pu.contractId and pr.locationId = pu.locationId
- WHERE w.`pastureId` = 31
- group by pr.contractId
- )u on storage.contractId = u.contractid
- left join
- (
- SELECT pr.contractid ,sum(pq.quitNumber)sumquit
- FROM part_repertory pr
- join warehouse w on w.id = pr.locationId
- left join partquit pq on pr.contractId =pq.contractId
- join bigpartquit bpq on bpq.id =pq.bigid and bpq.pastureid =w.pastureId
- WHERE w.`pastureId` = 31
- group by pr.contractId
- )quit on storage.contractid =quit.contractid
- left join
- (
- SELECT pr.contractid,sum(pf.refundNumber)sumrefund
- FROM part_repertory pr
- join warehouse w on w.id = pr.locationId
- left join partrefund pf on pr.contractId =pf.contractId
- join bigpartrefund bpf on pf.bigid =bpf.id and bpf.pastureid =w.pastureId
- WHERE w.`pastureId` = 31
- group by pr.contractId
- )refund on refund.contractId =storage.contractId
- )t
|