I have this query below that I use on a supermarket database to see the Items available for online sale SAP DB using SQL Server 2008.
SELECT T0.[CodeBars], T0.[ItemName], T3.[Price], T1.[Price], T2.[ItmsGrpNam]
FROM OITM T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN ITM1 T3 ON T0.ItemCode = T3.ItemCode
WHERE T0.[U_Online] = 'Y' AND T1.[PriceList] = '3' AND T3.[Pricelist]='1'
The query works fine but I want to add another column for OnHand items. I.e. Items that are in stock for a particular warehouse ‘6’ where all items for online sale come from. The supermarket has 8 warehouses. The T0.[U_Online] = 'Y' shows items sold online regardless of warehouse.
How do I modify the query below such that for every T0.[CodeBars] returned, I get an additional column for Onhand items for warehouse 6? I have an extra join for table OITW.
SELECT T0.[CodeBars], T0.[ItemName], T3.[Price], T1.[Price], T2.[ItmsGrpNam],
T4.OnHand
FROM OITM T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN ITM1 T3 ON T0.ItemCode = T3.ItemCode
INNER JOIN OITW T4 ON T0.ItemCode = T4.ItemCode
WHERE T0.[U_Online] = 'Y' AND T1.[PriceList] = '3' AND T3.[Pricelist]='1'
--AND T4.WhsCode = '6'
Sample results from 1st query
I think you might need
LEFT JOINinstead, like this: