Hi Guys,
Basically my requirements is to find how many items where finished good and scrap based on the items received. Let say 100 items was received and 50 was finished good and 30 was scrap the remaining will be a WIP or still not transacted or no history or not yet FG/scrap. The data are came from different tables. Your help is very mich appreciated.
--drop table #Receiving
create table #Receiving--Stored all received Item
(esn nvarchar(35), auditdate datetime, optype int)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019761824','2015-01-03 19:23:53.383',4)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019761824','2015-01-03 19:23:54.980',5)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019802529','2015-01-10 19:23:53.383',4)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019802529','2015-01-10 19:23:54.980',5)
insert into #Receiving(esn,auditdate,optype ) values('990002462951458','2013-09-04 16:16:24.117',4)
insert into #Receiving(esn,auditdate,optype ) values('990002462951458','2013-09-04 16:16:26.397',5)
insert into #Receiving(esn,auditdate,optype ) values('990002462951458','2015-01-22 03:53:38.020',4)
insert into #Receiving(esn,auditdate,optype ) values('990002462951458','2015-01-22 03:53:40.160',5)
insert into #Receiving(esn,auditdate,optype ) values('990001216564906','2015-01-26 13:54:51.293',4)
insert into #Receiving(esn,auditdate,optype ) values('990001216564906','2015-01-26 13:54:53.343',5)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019762159','2015-01-03 23:16:39.993',4)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019762159','2015-01-03 23:16:41.617',5)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019761802','2015-01-03 19:10:10.937',4)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019761802','2015-01-03 19:10:12.447',5)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019921108','2015-01-27 19:43:08.383',4)
insert into #Receiving(esn,auditdate,optype ) values('T9000000000019921108','2015-01-27 19:43:10.000',5)
insert into #Receiving(esn,auditdate,optype ) values('990000676842596','2015-01-13 19:43:08.383',4)
insert into #Receiving(esn,auditdate,optype ) values('990000676842596','2015-01-13 19:43:10.000',5)
--drop table #Recovered
create table #Recovered--Stored All recovered ESN/TON
(prodid nvarchar(35), serialid nvarchar(35), recoveredesn nvarchar(35), recovereddate datetime)
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005065526','T9000000000019761824','354403060637509','2015-02-04 08:19:40.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005271772','T9000000000019761824','354403060637509','2015-03-19 07:07:44.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR004948393','T9000000000019802529','990002599795240','2015-01-19 07:07:55.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005106042','T9000000000019762159','354391062163204','2015-02-11 07:37:37.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005803934','T9000000000019761802','354410061757061','2015-07-11 03:44:54.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005065591','T9000000000019921108','358755056706937','2015-02-04 08:23:57.000')
insert into #Recovered(prodid, serialid,recoveredesn, recovereddate) values('TR005075553','T9000000000019921108','358755056706937','2015-02-06 01:19:17.000')
--drop table #journaldb
create table #journaldb-- get the finishedtime(posteddate)for the production order
(prodid nvarchar(35), journalname nvarchar(35), posteddate datetime)
insert into #journaldb(prodid, journalname, posteddate)values('TR005065526','ProdRAF','2015-02-07 01:50:08.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR005271772','ProdRAF','2015-03-20 08:43:07.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR004948393','ProdRAF','2015-01-19 08:43:07.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR003373712','ProdRAF','2013-09-16 09:16:36.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR005750905','ProdRAF','2015-07-28 16:59:08.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR004831357','ProdRAF','2014-12-15 21:10:32.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR004465783','ProdRAF','2014-09-15 20:21:19.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR005075553','ProdRAF','2015-02-14 03:07:27.000')
insert into #journaldb(prodid, journalname, posteddate)values('TR005048832','ProdRAF','2015-02-05 04:33:21.000')
--drop table #Production
create table #Production--found all finished (ended po/open po)
(prodid nvarchar(35), datefinished datetime, prodstatus int, invintdimid nvarchar(35), createddate datetime, esnstatus int)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005065526','2015-02-07 01:50:08.000',7,'DIM12597019','2015-02-04',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005271772','2015-03-20 08:43:07.000',7,'DIM12597019','2015-03-19',1)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR004948393','2015-01-15 08:43:07.000',7,'DIM12286679','2015-01-14',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR003373712','2013-09-16 08:43:07.000',7,'DIM10049529','2013-09-15',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005750905','2015-07-29 08:43:07.000',7,'DIM10049529','2015-07-01',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR004831357','2014-12-16 08:43:07.000',7,'DIM10049529','2014-12-14',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR004465783','2014-09-16 20:21:19.000',7,'DIM14206564','2014-09-13',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005803934','1900-01-01 00:00:00.000',4,'DIM11456551','2015-07-11',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005075553','2015-02-14 03:07:27.000',4,'DIM12695446','2015-02-06 01:19:15.000',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005106042','1900-01-01 00:00:00.000',4,'DIM12652450','2015-02-11 07:37:36.000',0)
insert into #Production(prodid, datefinished, prodstatus, invintdimid,createddate,esnstatus) values('TR005048832','2015-02-05 04:33:21.000',7,'DIM12567933','2015-02-05 04:33:22.000',0)
--drop table #inventdim
create table #inventdim
(invetdimid nvarchar(35), location nvarchar(35), inventserialid nvarchar(35))
insert into #inventdim(invetdimid, location, inventserialid) values('DIM12597019','IPHFG','354403060637509')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM12286679','IPHFG','990002599795240')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM10049529','IPHFG','990002462951458')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM11456551','IPHFG','990001216564906')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM12695446','IPHSO','358755056706937')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM12652450','IPHFG','T9000000000019762159')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM12567933','SCRP','990000676842596')
insert into #inventdim(invetdimid, location, inventserialid) values('DIM10049529','SCRP','990002462951458')