16-02-2017, 12:17 PM
السلام عليكم ورحمة الله تعالى وبركاته
أما بعد ، سبق لي وطرحت هذا السؤال ولكن لم يستطع أحد الإجابة، لعلي لم أستطع توصيل الفكرة فقررت إعادة صياغة السؤال لعلي أجد من يعينني
المطلوب: أريد عرض مجموعة من الإحصائيات من جدول تسجيلات التلاميذ [size=small] بحيث يعرض لي عدد المسجلين لكل دورة، عدد الذكور والإناث لكل دورة، وكذلك المسجلين والمتواجدين في القائمة الإحتياطية[/size].
الشرح:
[size=small]يوجد جدولين الأول : جدول التلاميذ eleve يحتوي على الحقول التالية: كود Code_eleve (مفتاح رئيسي)و الجنس sex و كيفية التسجيل في القائمة Type_insc (مسجل أو إحتياطي)،[/size] code_tournoi وهو كود الدورة وهو عبارة عن مفتاح ثانوي من الجدول الرئيسي للدورة tournoi.
المشكل:
المشكل يكمن في Group by فهي تصنف فقط العدد الكلي للتلاميذ في كل دورة أما عدد الذكور/الإناث، المسجلين/الإحتياطيين، فيضهر العدد الكلي وليس العدد الخاص بالدورة الموافقة.
[size=small]كيف يمكنني إصلاح الأمر؟ وبارك الله فيكم[/size]
كود :
select COUNT(eleves.Code_tournoi),
(select COUNT(*) from Eleves where sex='ذكر'),
(select COUNT(*) from Eleves where sex='أنثى'),
(select COUNT(*) from Eleves where type_insc='مسجل'),
(select COUNT(*) from Eleves where type_insc='احتياط'),
(select Tournoi.des_tournoi from Tournoi where Eleves.Code_tournoi=Tournoi.Code_tournoi)
FROM dbo.Eleves
group by Eleves.Code_tournoi