How to get the missing purchase record

vinodh_1978

New member
Local time
Today, 08:11
Joined
Oct 2, 2009
Messages
3
SELECT Tbl_ProductGroupMaster.ProdName, Tbl_ProductGroupMaster.UnitNam, Tbl_Inventory.CrDate, Tbl_Inventory.QtyOpStk, Tbl_Inventory.QtyClStk, Tbl_Inventory.ExcShortage, purchase.SumOfNUnit, sales.SumOfQty
FROM Tbl_ProductGroupMaster, Tbl_Inventory, [SELECT Tbl_PurchaseMain.idate as p_idate, Tbl_PurchaseSub.Proid as proid,
sum(Tbl_PurchaseSub.NUnit) AS SumOfNUnit
FROM Tbl_PurchaseMain, Tbl_PurchaseSub WHERE Tbl_PurchaseMain.GID=Tbl_PurchaseSub.gid
and format(cdate(Tbl_PurchaseMain.idate),'mm-dd-yyyy') between format(cdate('13-Sep-2009'),'mm-dd-yyyy') and
format(cdate('02-Oct-2009'),'mm-dd-yyyy') GROUP BY
Tbl_PurchaseMain.idate, Tbl_PurchaseSub.Proid]. AS purchase, [SELECT Tbl_SalesMain.idate AS s_idate, Tbl_SalesSub.Proid, sum(Tbl_SalesSub.Qty) AS SumOfQty
FROM Tbl_SalesMain, Tbl_SalesSub
WHERE Tbl_SalesMain.SAID=Tbl_SalesSub.SAID And
format(cdate(Tbl_SalesMain.idate),'mm-dd-yyyy') Between format(cdate('13-Sep-2009'),'mm-dd-yyyy') And
format(cdate('02-Oct-2009'),'mm-dd-yyyy')
GROUP BY Tbl_SalesMain.idate, Tbl_SalesSub.Proid]. AS sales
WHERE Tbl_Inventory.CrDate = purchase.p_idate and
Tbl_Inventory.CrDate = sales.s_idate and
Tbl_ProductGroupMaster.PROID=Tbl_Inventory.proid AND
Tbl_Inventory.PROID=purchase.proid and
Tbl_Inventory.PROID=sales.proid and
Tbl_Inventory.CrDate = '13-Sep-2009';

I am getting the out put as below:
I have one more product 'bbb' for which their is no record in purchase on '13-sep-2009'.But exist in
inventory and sales. I need that to be printed . Please let me know the correction in the query.

ProdName UnitNam CrDate QtyOpStk QtyClStk ExcShortage SumOfNUnit SumOfQty
aaa Kgs 13-Sep-2009 10010 10000 0 55 22

thanks,
Vinodh
 
How about you upload your Database and we can have a proper look?
 
I am getting error . Can you please rewrite the query.How to use left join?

SELECT Tbl_ProductGroupMaster.ProdName, Tbl_ProductGroupMaster.UnitNam, Tbl_Inventory.CrDate, Tbl_Inventory.QtyOpStk, Tbl_Inventory.QtyClStk, Tbl_Inventory.ExcShortage, purchase.SumOfNUnit, sales.SumOfQty
FROM Tbl_ProductGroupMaster, [SELECT Tbl_PurchaseMain.idate as p_idate, Tbl_PurchaseSub.Proid as proid,
sum(Tbl_PurchaseSub.NUnit) AS SumOfNUnit
FROM Tbl_PurchaseMain, Tbl_PurchaseSub WHERE Tbl_PurchaseMain.GID=Tbl_PurchaseSub.gid
and format(cdate(Tbl_PurchaseMain.idate),'mm-dd-yyyy') between format(cdate('13-Sep-2009'),'mm-dd-yyyy') and
format(cdate('02-Oct-2009'),'mm-dd-yyyy') GROUP BY
Tbl_PurchaseMain.idate, Tbl_PurchaseSub.Proid]. AS purchase,

[SELECT Tbl_SalesMain.idate AS s_idate, Tbl_SalesSub.Proid, sum(Tbl_SalesSub.Qty) AS SumOfQty
FROM Tbl_SalesMain, Tbl_SalesSub
WHERE Tbl_SalesMain.SAID=Tbl_SalesSub.SAID And
format(cdate(Tbl_SalesMain.idate),'mm-dd-yyyy') Between format(cdate('13-Sep-2009'),'mm-dd-yyyy') And
format(cdate('02-Oct-2009'),'mm-dd-yyyy')
GROUP BY Tbl_SalesMain.idate, Tbl_SalesSub.Proid]. AS sales,
Tbl_Inventory LEFT JOIN purchase
ON (Tbl_Inventory.CrDate = purchase.p_idate)
LEFT JOIN sales
ON (Tbl_Inventory.CrDate = sales.s_idate)
WHERE
Tbl_ProductGroupMaster.PROID=Tbl_Inventory.proid AND
Tbl_Inventory.PROID=purchase.proid and
Tbl_Inventory.PROID=sales.proid and
Tbl_Inventory.CrDate = '13-Sep-2009';
 

Users who are viewing this thread

Back
Top Bottom