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

طلب شرح تنفيذ استعلام الخيار GROUP BY

مغلق
بدأه new_student في 5 يونيو 2006 · 8 رد · 9,393 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أرجو مساعدتكم بشرح lمفصل عن طريقة تنفيذ استعلام الاختيار عن طريق GROUP BY باختيار Sum مثلا

مع العلم بأنني بحاجة إلى الشرح وليس مثال جاهز , حيث انني وجدت الكثير من الأمثلة ولكنني لم أتمكن من التطبيق

اشكر لكم مساعدتكم

#2

جملة GROUP BY

تقوم بدمج السجلات التي تحتوي على قيم متطابقة في قائمة الحقول المعينة في سجل واحد. يتم إنشاء قيمة تلخيص لكل سجل في حالة تضمين دالة SQL تجميعية، مثل Sum أو Count، في عبارة SELECT.

بناء الجملة

SELECT fieldlist

FROM table

WHERE criteria

[GROUP BY groupfieldlist]

تتكون عبارة SELECT التي تحتوي على جملة GROUP BY من الأجزاء التالية:

05_06_06_09_18_58_1149524338GB.gif

تنويهات

1. تعتبر GROUP BY اختيارية.

2. يتم حذف قيم التلخيص في حالة عدم وجود دالة SQL تجميعية في عبارة SELECT.

3. يتم تجميع القيم Null (الخالية) في حقول GROUP BY (تجميع حسب) ولا يتم حذفها. ومع ذلك، لا يتم تقييم القيم Null (الخالية) في أية دالة SQL تجميعية.

4. استخدم جملة WHERE لاستبعاد الصفوف التي لا ترغب في تجميعها، واستخدم جملة HAVING لتصفية السجلات بعد تجميعها.

5. ما لم يتضمن الحقل الموجود في قائمة حقول GROUP BY بيانات "المذكرة" أو "كائن OLE"، فإنه يمكن أن يشير إلى أي حقل في أي جدول مسرود في جملة FROM، حتى إذا لم يتم تضمين الحقل في عبارة SELECT، بشرط أن تحتوي عبارة SELECT على دالة SQL تجميعية واحدة على الأقل. ولا يمكن أن يقوم مشغل قاعدة بيانات Microsoft® Jet بتجميع الحقول Memo (المذكرة) أو OLE Object (كائن OLE).

6. ينبغي أن تكون كافة الحقول الموجودة في قائمة حقول SELECT إما مُضمنة في جملة GROUP BY أو مُضمنة كوسائط لدالة SQL تجميعية.

لنفرض ان لديك جدول T به الحقول التالية A و B و C وتريد اظهار المجاميع لها

اذن ننشىء استعلام مبني على الجدول T ثم نختار من اشرطة ادوات الاستعلام علامة المجاميع 05_06_06_09_19_42_1149524382GR3.gif وسيظهر لنا الاستعلام بهذا الشكل

05_06_06_09_20_37_1149524437SUM_.gif

ولو نظرنا الى عبارة الاستعلام سنجدها بهذا الشكل

SELECT Sum(T.A) AS SumمنA, Sum(T.B) AS SumمنB, Sum(T.C) AS SumمنC
FROM T;

اختكم

زهره

تم تعديل هذه المشاركة بواسطة zahrah في 5 يونيو 2006 في 19:24

#3

السلام عليكم

استاذة زهرة

بكل تأكيد بأنك قد اسهبت في الشرح ولكن يظهر بأن فهمي لم يكن بالدرجة التي تواكب الموضوع وهذا ما جعلني اتجه الى هذا المنتدى واطلب المعونة

حضرة الاستاذة الكريمة لقد فشلت في التطبيق وللاسف فهل للموضوع بقية

اشكرك مجددا

group_by.rar

#4

اخي الفاضل

هل مشكلتك مع هذه الرسالة

05_06_06_10_38_39_1149529119stu.gif

حسنا سأشرح لك اين تكمن مشكلتك مع هذه العباره ارجو ان تركز معي قليلا

1. انشىء جدول جديد واعطه اي اسم

2. انشىء به ثلاثة حقول رقمية مثل A و B و C

3. احفظ الجدول بأي اسم تريده

4. هنـــــــــــــــــــــــــا مشكلتك : سيطلب منك البرنامج وضع فهرسة للحقول اذا اخترت نعم ستظهر لك الرسالة السابقة في الاستعلام اذا اخترت لا لن تظهر نجرب الان على الاستعلام

5. انشىء استعلام مبني على الجدول السابق

6. اضغط على علامة المجاميع وستظهر لك في الاستعلام تحت الحقول group by قم بتشغيل الاستعلام من خلال علامة التعجب في اعلى الاستعلام ( ظهر الاستعلام بكل الحقول )

7. نريد الان اختيار احدى عبارات المجاميع مثل SUM او Avg او Count لجميع الحقول وليس حقل واحد ونقوم بتشغيل الاستعلام

انظر المثال

group_by_up.rar

#5

السلام عليكم

استاذة زهرة

نعم لقد تعرفت ان على مصدر الخطأ ومشكلتي بالفعل تكمن في ظهور الرسالة المشار اليها

وقد اعت تصميم الجدول واتبعت الخطوات وحيث انه ونظرا لانني لم اجد الخيار الذى اشرت اليه وهو الخاص بفهرست الحقول .

عليه لم يطرأ اي جديد

لذا ارجو كرما لا امرا ان تحددى بالضبط متى واين يظهر هذا الخيار ولو امكن بالصورة (( الاستيعاب بسيط ))

آسف على الازعاج

#7

والله نفس المشكلة للاسف

ولا زالت الرسالة تظهر وتمنع التنفيذ

#8

هل يوجد يوجد لديكم حل ايها الخبراء للتغلب على هذه الرسالة وامكانية تنفيذ الاستعلام

علما بانني قد حاولت عشرات المرات بفتح جدول جديد مع اختيار لا لوضع مفتاح . لعدة اسباب اولها انه جدول وحيد ولا يحتاح للربط .

ارجو المساعدة اكيد اكيد يوجد سبب آخر غير الذى اقترحته الاخت زهرة مشكورة .

والشكر موصول للجميع

#9

الاستاذة الفاضلة / زهرة

لا يسعني الا ان اشكرك على مجهودك الكبير

اخيرا توصلت الى حل مؤقت وهو حذف الاوفيس 2003 واستبداله باوفيس اكس بي . تمكنت من معرفة ذلك اثناء زيارتي لاحد الاصدقاء وعمل تجربة على جهازه وهو يعمل على اوفيس اكس بي وقد مرت بدون مشاكل وكررتها كما تفضلت انت باضافة الحقول جميعا وليس هناك مشكلة مما أكد لي بأن الخلل بنسخة الافيس .... والغريب ايضا انه على نفس النسخة 2003 القديمة تتعامل مع هذا النوع من الاستعلامات فقط على الجداول التي اقوم بانزالها من الشبكة ( تخيلي بانني حاولت انشاء جداول على نفس القواعد التي اجلبها من الشبكة وواجهتني نفس المشكلة )

ملاحظة

الان اواجه مشكلة في فتح الملفات القديمة المعمولة على اوفيس 2003 فما الحل

على العموم هذا للعلم وللاستفادة

وربما نجد الحل لدى من مر بنفس التجربة

اكرر لك الشكر

تم تعديل هذه المشاركة بواسطة new_student في 7 يونيو 2006 في 14:16

هذا الموضوع مغلق.

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