Friday 20 May 2016

Inventory Report Combining of Two Databases

(SELECT  T0.Itemcode ,
CASE When T0.ItemCode like 'DBA%' then 'Database_A' End 'Database',
T1.FrgnName as 'Part No', T1.ItemName, T2.ItmsGrpNam, T0.WhsCode, T0.ONHAND as 'Total Qty',  T0.ONHAND*T0.AVGPRICE as 'StockValue',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 30 THEN T0.ONHAND END '>30 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 30THEN T0.ONHAND*T0.AVGPRICE END '>30 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 60 THEN T0.ONHAND END '>60 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 60THEN T0.ONHAND*T0.AVGPRICE END '>60 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 90 THEN T0.ONHAND END '>90 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 90THEN T0.ONHAND*T0.AVGPRICE END '>90 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 180 THEN T0.ONHAND END '>180 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 180 THEN T0.ONHAND*T0.AVGPRICE END '>180 Days(Value)'
FROM 
[DATABASE_A].[dbo].[OITW] as T0 INNER JOIN [DATABASE_A].[dbo].[OITM] as T1 ON T0.ITEMCODE = T1.ITEMCODE
INNER JOIN [DATABASE_A].[dbo].[OITB] as T2 ON T1.ITMSGRPCOD=T2.ITMSGRPCOD left join
[DATABASE_A].[dbo].[IBT1] as t3 on t3.itemcode = t0.itemcode and t3.whscode = t0.whscode
WHERE
T0.ONHAND>0  and (T0.WhsCode like 'BLR%') and T2.ItmsGrpNam in ('Toner' , 'Cartridge')


Union All


SELECT T0.Itemcode,CASE When T0.ItemCode like 'DBB%' then 'Database_B' End 'Database',
 T1.FrgnName as 'Part No', T1.ItemName, T2.ItmsGrpNam, T0.WhsCode, T0.ONHAND as 'Total Qty',  T0.ONHAND*T0.AVGPRICE as 'StockValue',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 30 THEN T0.ONHAND END '>30 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 30THEN T0.ONHAND*T0.AVGPRICE END '>30 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 60 THEN T0.ONHAND END '>60 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 60THEN T0.ONHAND*T0.AVGPRICE END '>60 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 90 THEN T0.ONHAND END '>90 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 90THEN T0.ONHAND*T0.AVGPRICE END '>90 Days(Value)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 180 THEN T0.ONHAND END '>180 Days(Qty)',
CASE WHEN Datediff(day, T1.LASTPURDAT,GETDATE()) >= 180 THEN T0.ONHAND*T0.AVGPRICE END '>180 Days(Value)'
FROM 
[DATABASE_B].[dbo].[OITW] as T0 INNER JOIN [DATABASE_B].[dbo].[OITM] as T1 ON T0.ITEMCODE = T1.ITEMCODE
INNER JOIN [DATABASE_B].[dbo].[OITB] as T2 ON T1.ITMSGRPCOD=T2.ITMSGRPCOD left join
[DATABASE_B].[dbo].[IBT1] as t3 on t3.itemcode = t0.itemcode and t3.whscode = t0.whscode
WHERE
T0.ONHAND>0 and (T0.WhsCode like 'BLR%') and T2.ItmsGrpNam in ('Toner' , 'Cartridge'))
Order By
T1.FrgnName