الاخوة الزملاء
السلام عليكم ورحمة الله وبركاتة
اريد ان اصمم تقرير يسترجع كشف حساب المورد بحيث التقرير يعرض
أولاً : - بيانات الفاتورة
- رقم الفاتورة (dbo.AddDoc.HAdd_Doc)
- تاريخ الفاتورة (dbo.AddDoc.ZDate)
-كود المورد (dbo.AddDoc.Supid)
-اسم المورد (dbo.AddDoc.Supplier)
- صافي الفاتورة (dbo.Transactions.GrandTotal)
ثانياً : - المبالغ المسددة
- المبالغ المسددة ( SUM(DISTINCT dbo.AccountPayable.LE)
- المبلغ المتبقي (Remain)
SELECT dbo.AddDoc.HAdd_Doc, dbo.AddDoc.ZDate, dbo.AddDoc.Supid, dbo.AddDoc.Supplier, SUM(DISTINCT dbo.Transactions.GrandTotal) AS GrandTotal,
SUM(DISTINCT dbo.AccountPayable.LE) AS Paid, SUM(DISTINCT dbo.Transactions.GrandTotal) - SUM(DISTINCT dbo.AccountPayable.LE) AS Remain
FROM dbo.Transactions INNER JOIN
dbo.AddDoc ON dbo.Transactions.DAdd_Doc = dbo.AddDoc.HAdd_Doc INNER JOIN
dbo.AccountPayable ON dbo.AddDoc.HAdd_Doc = dbo.AccountPayable.Invno
GROUP BY dbo.AddDoc.HAdd_Doc, dbo.AddDoc.ZDate, dbo.AddDoc.Supid, dbo.AddDoc.Supplier, dbo.AccountPayable.Remainالمشكلة عندي عندما تكون القيمة في حقل LE متشابهه .. لا يقوم بعمل Sum يشكل سليم ... نفس المشكلة في حقل Grand Total
والاستعلام الصحيح يجب ان تكون نتيجته كالتالي مع العلم ان حقل المبالغ المسددة (LE) في الفاتورة رقم 2 مسدد علي دفعتين 10 + 10 = 20
نتيجة الاستعلام ظهرت صحيحة عندما قمت بتصميم 2 view وكل view تقوم باسترجاع البيانات بشكل سليم ثم قمت بتجميعهم في View ثالث كالتالي
SELECT dbo.View_1.HAdd_Doc, dbo.View_1.ZDate, dbo.View_1.Supid, dbo.View_1.Supplier, dbo.View_1.GrandTotal, dbo.View_2.Paid,
dbo.View_1.GrandTotal - dbo.View_2.Paid AS Remain
FROM dbo.View_1 INNER JOIN
dbo.View_2 ON dbo.View_1.HAdd_Doc = dbo.View_2.Invnoوأنا أريد ان اصل لنفس النتيجة لكن ليس عند طريق الـ View


