![]() |
|
استفسار عن استعلام Sql - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : استفسار عن استعلام Sql (/showthread.php?tid=8400) |
استفسار عن استعلام Sql - nacertaker - 16-02-2017 السلام عليكم ورحمة الله تعالى وبركاته
أما بعد ، سبق لي وطرحت هذا السؤال ولكن لم يستطع أحد الإجابة، لعلي لم أستطع توصيل الفكرة فقررت إعادة صياغة السؤال لعلي أجد من يعينني
المطلوب: أريد عرض مجموعة من الإحصائيات من جدول تسجيلات التلاميذ [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_tournoiRE: استفسار عن استعلام Sql - لؤي - 16-02-2017 السلام عليكم هذا لأن عمل Group by تقوم بذلك إن نزعتها ماهو يعطيك الناتج ؟ RE: استفسار عن استعلام Sql - nacertaker - 16-02-2017 (16-02-2017, 12:46 PM)لؤي كتب : السلام عليكم لما أنزع 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. RE: استفسار عن استعلام Sql - لؤي - 16-02-2017 إذا كان هناك حقول مشتركة بين eleve و tournoi إستعمل الخاصية join RE: استفسار عن استعلام Sql - nacertaker - 16-02-2017 (16-02-2017, 01:20 PM)لؤي كتب : إذا كان هناك حقول مشتركة بين eleve و tournoi إستعمل الخاصية join شكر الأخ لؤي .. لكن لما أنزع Group by يصبح الإستعلام يعرض العدد الكلي للمسجلين والذكور والإناث ... ولكني أريد أن يعرض القيم مفصلة بكل دورة ،ى يعني: عدد الدكور في كل دورة عدد الإناث في كل دورة عدد المسجلين في كل دورة عدد الإحتياطيين في كل دورة الكل في جدول واحد RE: استفسار عن استعلام Sql - لؤي - 16-02-2017 تحافظ على نفس النتيجة بطريقة مختلفة جربها ممكن تعطيك مبتغاك RE: استفسار عن استعلام Sql - Mr.DOS - 17-02-2017 سلام عليكم اعد النضر في تصميم الجداول او بالاحرى قم بإضافة جدول احداث جديد لان الشيئ الذي تريد الوصول اليه خرج عن Joins و MasterDetail وكأنك تريد عمل فرز لناتج مفلتر ثم اعادة فلترته من جديد . |