الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برجاء المساعدة فى تصحيح ذلك الاستعلام

بدأه helskran في 18 ديسمبر 2013 · 8 رد · 388 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

SELECT * FROM ( SELECT '' AS SerialNumber, TableSalesMain.SalesDate AS RecordDate, TableClass.ClassNumber, TableClass.ClassName, TableSalesSub.SalesQuantity AS Quantity, TableClassUnity.ClassUnity, TableSalesSub.SupplingPriceUnity, TableSalesSub.TotalSupplingPriceClassBeforDiscount AS TotalSupplingPrice, TableSalesSub.SalesPriceUnity, TableSalesSub.TotalSalesPriceClassBeforDiscount AS TotalSalesPrice, TableSalesSub.GainAmount, '0' AS LoseAmount, TableSalesMain.Baean, 'TableSales' AS TableName, TableSalesSub.ClassID FROM TableSalesMain INNER JOIN TableSalesSub ON TableSalesMain.ID = TableSalesSub.SalesMainID INNER JOIN TableClass ON TableSalesSub.ClassID = TableClass.ID INNER JOIN TableClassUnity ON TableSalesSub.UnityID = TableClassUnity.ID Union SELECT '' AS SerialNumber, TableFeedBackMain.SupplyingDate AS RecordDate, TableClass.ClassNumber, TableClass.ClassName, TableFeedBackSub.Quantity, TableClassUnity.ClassUnity, TableFeedBackSub.SupplyingPriceUnity, TableFeedBackSub.SupplyingTotalPrice AS TotalSupplingPrice, TableFeedBackSub.SalesPriceUnity, TableFeedBackSub.TotalSalesPriceClassBeforDiscount AS TotalSalesPrice, '0' AS GainAmount, TableFeedBackSub.LoseAmount, TableFeedBackMain.Baean, 'TableFeedBack' AS TableName, TableFeedBackSub.ClassID FROM TableFeedBackMain INNER JOIN TableFeedBackSub ON TableFeedBackMain.ID = TableFeedBackSub.FeedBackMainID INNER JOIN TableClass ON TableFeedBackSub.ClassID = TableClass.ID INNER JOIN TableClassUnity ON TableFeedBackSub.UnityID = TableClassUnity.ID WHERE TableFeedBackMain.FeedBackOrDelete = 'FeedBack' ) QClassGainAndLose ORDER BY RecordDate,Baean,ClassID;

#2

الاستعلام عند التنفيذ لا يتم ولا اعرف اين يوجد الخطأ فى الاستعلام برجاء الافادة وشكرا

#3

السلام عليكم ..

الاستعلام صحيح .. قمت بتجربته .. يبدو أن البيانات لم يتم ادخالها بشكل صحيح بما يتوافق مع العلاقات ..

الافضل استخدام (Union ALL) بدلا من (Union) لوحدها لأنها تقوم بحذف السجلات المكررة من ناتج الاستعلام ..

تم تعديل هذه المشاركة بواسطة حسام الشامي في 18 ديسمبر 2013 في 11:46

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#4

ممكن تعيد كتابتة باستخدام Union ALL

#5
helskran كتب:

ممكن تعيد كتابتة باستخدام Union ALL

تفضل اخي الكريم .. طبعا وضعت أقوس في عبارات الــ Join  ...

SELECT * FROM 
( SELECT '' AS SerialNumber, TableSalesMain.SalesDate AS RecordDate, TableClass.ClassNumber, TableClass.ClassName, TableSalesSub.SalesQuantity AS Quantity, TableClassUnity.ClassUnity, TableSalesSub.SupplingPriceUnity, TableSalesSub.TotalSupplingPriceClassBeforDiscount AS TotalSupplingPrice, TableSalesSub.SalesPriceUnity, TableSalesSub.TotalSalesPriceClassBeforDiscount AS TotalSalesPrice, TableSalesSub.GainAmount, '0' AS LoseAmount, TableSalesMain.Baean, 'TableSales' AS TableName, TableSalesSub.ClassID 
FROM (((TableSalesMain INNER JOIN TableSalesSub ON TableSalesMain.ID = TableSalesSub.SalesMainID) INNER JOIN TableClass ON TableSalesSub.ClassID = TableClass.ID )INNER JOIN TableClassUnity ON TableSalesSub.UnityID = TableClassUnity.ID )
Union ALL
SELECT '' AS SerialNumber, TableFeedBackMain.SupplyingDate AS RecordDate, TableClass.ClassNumber, TableClass.ClassName, TableFeedBackSub.Quantity, TableClassUnity.ClassUnity, TableFeedBackSub.SupplyingPriceUnity, TableFeedBackSub.SupplyingTotalPrice AS TotalSupplingPrice, TableFeedBackSub.SalesPriceUnity, TableFeedBackSub.TotalSalesPriceClassBeforDiscount AS TotalSalesPrice, '0' AS GainAmount, TableFeedBackSub.LoseAmount, TableFeedBackMain.Baean, 'TableFeedBack' AS TableName, TableFeedBackSub.ClassID
 FROM (((TableFeedBackMain INNER JOIN TableFeedBackSub ON TableFeedBackMain.ID = TableFeedBackSub.FeedBackMainID) INNER JOIN TableClass ON TableFeedBackSub.ClassID = TableClass.ID) INNER JOIN TableClassUnity ON TableFeedBackSub.UnityID = TableClassUnity.ID )
 WHERE TableFeedBackMain.FeedBackOrDelete = 'FeedBack' 
 ) QClassGainAndLose 
 ORDER BY RecordDate,Baean,ClassID;

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6

شكرا على الرد

#7

الاخ الفاضل حسام شكرا على تعاونك التام :-

انظر ذلك الاستعلام لماذا لا ينفذ مع ان الجداول بها بيانات

 

SELECT '' AS SerialNumber, TableExchange.ID, TableExchange.ExchangeDate, TableExchange.Money, TableExchange.ExchangeTo, TableExchangeBecause.ExchangeBecause, TableExchange.About, TableUser.FullName FROM TableExchange INNER JOIN TableUser ON TableExchange.UserID = TableUser.ID INNER JOIN TableExchangeBecause ON TableExchange.ExchangeBecauseID = TableExchangeBecause.ID WHERE ( TableExchange.ExchangeDate > =?  AND TableExchange.ExchangeDate < =? ) AND ( TableExchange.ExchangeBecauseID=?) ) ORDER BY TableExchange.ExchangeDate;

#8

السلام عليكم ...

عبارات الــ join  بحاجة لأقواس ..

المعامل =<  ليس فيه فراغ أي أن = < يعتبر خاطئ .

عبارة الــ Where  فيها قوس ناقص .

SELECT '' AS SerialNumber, TableExchange.ID, TableExchange.ExchangeDate, TableExchange.Money, TableExchange.ExchangeTo, TableExchangeBecause.ExchangeBecause, TableExchange.About, TableUser.FullName
FROM (TableExchange INNER JOIN TableUser ON TableExchange.UserID = TableUser.ID) INNER JOIN TableExchangeBecause ON TableExchange.ExchangeBecauseID = TableExchangeBecause.ID
WHERE (((TableExchange.ExchangeDate)>= ?  And (TableExchange.ExchangeDate)<= ?) AND ((TableExchange.ExchangeBecauseID)=?))
ORDER BY TableExchange.ExchangeDate;

تم تعديل هذه المشاركة بواسطة حسام الشامي في 21 ديسمبر 2013 في 16:29

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#9

شكرا على الرد

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…