المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
السلام عليكم ورحمة الله تعالى وبركاته
أما بعد ، سبق لي وطرحت هذا السؤال ولكن لم يستطع أحد الإجابة، لعلي لم أستطع توصيل الفكرة فقررت إعادة صياغة السؤال لعلي أجد من يعينني
المطلوب: أريد عرض مجموعة من الإحصائيات من جدول تسجيلات التلاميذ [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
المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
16-02-2017, 12:46 PM
(آخر تعديل لهذه المشاركة: 16-02-2017, 12:46 PM بواسطة لؤي.)
السلام عليكم
هذا لأن عمل Group by تقوم بذلك إن نزعتها ماهو يعطيك الناتج ؟
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
كل من 1 user says قال شكرا ل لؤي على المشاركة المفيدة1 user says Thank You to لؤي for this post
• nacertaker
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
(16-02-2017, 12:46 PM)لؤي كتب : السلام عليكم
هذا لأن عمل Group by تقوم بذلك إن نزعتها ماهو يعطيك الناتج ؟
لما أنزع Group by لا يشتغل
Msg 8120, Level 16, State 1, Line 6
Column 'dbo.Eleves.Code_tournoi' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
إذا كان هناك حقول مشتركة بين eleve و tournoi إستعمل الخاصية join
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
كل من 1 user says قال شكرا ل لؤي على المشاركة المفيدة1 user says Thank You to لؤي for this post
• nacertaker
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
(16-02-2017, 01:20 PM)لؤي كتب : إذا كان هناك حقول مشتركة بين eleve و tournoi إستعمل الخاصية join
شكر الأخ لؤي .. لكن لما أنزع Group by يصبح الإستعلام يعرض العدد الكلي للمسجلين والذكور والإناث ...
ولكني أريد أن يعرض القيم مفصلة بكل دورة ،ى يعني:
عدد الدكور في كل دورة
عدد الإناث في كل دورة
عدد المسجلين في كل دورة
عدد الإحتياطيين في كل دورة
الكل في جدول واحد
المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
تحافظ على نفس النتيجة بطريقة مختلفة جربها ممكن تعطيك مبتغاك
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
المشاركات : 476
المواضيع 0
:
: 217
الإنتساب : Apr 2011
سلام عليكم
اعد النضر في تصميم الجداول او بالاحرى قم بإضافة جدول احداث جديد
لان الشيئ الذي تريد الوصول اليه خرج عن Joins و MasterDetail
وكأنك تريد عمل فرز لناتج مفلتر ثم اعادة فلترته من جديد .
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة1 user says Thank You to Mr.DOS for this post
• nacertaker