14-02-2017, 10:27 AM
مثال لتوضيح الإشكال
عندي 03 جداول (1-جدول الزبون-2-جدول الديون-3-جدول المدفوعات)
الجدول الأول اسمه Client : فيه 03 حقول: Code_Client-Nom_Client
الجدول الثاني اسمه Credit: فيه 03 حقول: Code_Client-Montant_Credit-Date_Credit
الجدول الثالث اسمه Versement: فيه 03 حقول: Code_Client-Montant_Versement-Date_Versement
* إذا أردنا معرفة مجموع ديون كل زبون:
* إذا أردنا معرفة مجموع مدفوعات كل زبون:
*الإشكال ؟ : معرفة الإثنين: هذا الكود صحيحا برمجيا لكن يعطي نتائج خاطئة:
- ما هو الصواب؟ و إذا أردنا أيضا عرض الفارق بين الديون و المدفوعات في عمود مستقل أيضا ؟
عندي 03 جداول (1-جدول الزبون-2-جدول الديون-3-جدول المدفوعات)
الجدول الأول اسمه Client : فيه 03 حقول: Code_Client-Nom_Client
الجدول الثاني اسمه Credit: فيه 03 حقول: Code_Client-Montant_Credit-Date_Credit
الجدول الثالث اسمه Versement: فيه 03 حقول: Code_Client-Montant_Versement-Date_Versement
* إذا أردنا معرفة مجموع ديون كل زبون:
كود :
select Client.Code_Client , SUM(MonTant_Credit)
From Client , Credit
where Client.Code_Client=Credit.Code_Client
Group By Code_Clientكود :
select Client.Code_Client , SUM(MonTant_Versement)
From Client , Versement
where Client.Code_Client=Versement.Code_Client
Group By Code_Client*الإشكال ؟ : معرفة الإثنين: هذا الكود صحيحا برمجيا لكن يعطي نتائج خاطئة:
كود :
select Client.Code_Client , SUM(MonTant_Credit) , SUM(MonTant_Versement)
From Client , Credit , Versement
where (Client.Code_Client=Credit.Code_Client) and (Client.Code_Client=Versement.Code_Client)
Group By Code_Client- ما هو الصواب؟ و إذا أردنا أيضا عرض الفارق بين الديون و المدفوعات في عمود مستقل أيضا ؟

