Sample net capacity SQL

CREATE TABLE #Sample
(  
 Status int,
Month varchar(5),  
Capacity int
);  

Insert into #Sample (Status,Month,Capacity) values (1,'01/16',5)
Insert into #Sample (Status,Month,Capacity) values (3,'01/16',2)
Insert into #Sample (Status,Month,Capacity) values (1,'02/16',11)
Insert into #Sample (Status,Month,Capacity) values (3,'02/16',20)
Insert into #Sample (Status,Month,Capacity) values (1,'03/16',8)
Insert into #Sample (Status,Month,Capacity) values (3,'03/16',12)
Insert into #Sample (Status,Month,Capacity) values (1,'04/16',4)
Insert into #Sample (Status,Month,Capacity) values (2,'04/16',10)
Insert into #Sample (Status,Month,Capacity) values (3,'04/16',18)
Insert into #Sample (Status,Month,Capacity) values (2,'05/16',14)
Insert into #Sample (Status,Month,Capacity) values (3,'05/16',37)
Insert into #Sample (Status,Month,Capacity) values (2,'06/16',4)
Insert into #Sample (Status,Month,Capacity) values (3,'06/16',8)

select * from #Sample

SELECT
   a.status,
   a.month,
   a.capacity,
   b.capacity AS total_capacity,
   a.capacity - b.capacity AS net_capacity
FROM
   #Sample a
JOIN
   #Sample b
   ON (a.month = b.month)
   AND (b.status = 3)
WHERE
   a.status IN (1,2);

drop table #Sample

A handy way of calculating based on a transaction file.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.