بتاريخ: 19 مايو 200818 سنة comment_129140 بسم الله الرحمن الرحيملو تسحمو يا شبابحك يكتبلي مثالانا عاوز اكتب جملة فيها group by لكن الجملة تستدعي بيانات من اكثر من جدول انا كتبت جملة عادية تستدعي بيانات من جدول واحدفتطلع عندي صحيحة وما فيها شيلاكن لم اضيف حقل من جدول اخير يطلع رسالة خطا ويقول مكان from غير صحيحفما هي الطريقة الصحيحة لكتابتهاوجزاكم الله كل خير تقديم بلاغ
بتاريخ: 19 مايو 200818 سنة comment_129145 فى الغالب يوجد علامة , قبل كلمة fromيفضل ارسال جملة select لتحديد المشكلة بدقة تقديم بلاغ
بتاريخ: 19 مايو 200818 سنة كاتب الموضوع comment_129185 بسم الله الرحمن الرحيماولا مشكورة اختي على الردثانيا انا اشتي تقرير يطلع لي الزيارات التي قام بها مندوب لطبيببحث ان التقرير يكون على الشكل التالياسم المندوب رقم الطبيب اسم الطبيب التخصص الكلاس عدد الزيارات بين تاريخين محمد 2 علي عام 1 20 بحث ان عندما ادخل التاريخين المطلوبين يطلع لي البيانات بشرط ما تتكرر يعني يطلع اسم الدكتور مرة واحدة وبجانبة عدد الزيارات انا عملت جملة السلكت التالية select doc_no count(doc_no) from daily_dogroup by doc_no وكانت تطلع بشكل تمام بس تطلع رقم الطبيب فقط وبجانبة عدد الزياراتولما جيت اعدل على الجملة بحيث تطلع بقية البيانات الاسم والمندوب الخ ما مشت معي الجمل الي كتبتها وتطلع اخطاء فياليت تساعديني في كتابة الجملةمع العلم انا اشتي اطلع اسم المندوب من جدول المندوبين واسم الطبيب من جدول الاطباء اما بقية البيانات من جدول التقارير اليوميةارجوا اني وصلت الفكرة بشكل جيدوجزاكي الله كل خير تقديم بلاغ
بتاريخ: 19 مايو 200818 سنة comment_129193 السلام عليكم.طالما سوف تضع عمود آخر لابد من إرفاقه في جملة ال group by وكده هاتشتغل. تقديم بلاغ
بتاريخ: 20 مايو 200818 سنة كاتب الموضوع comment_129219 مشكور اخي على الرد بس يا ربت لو تكتب مثال توضيحي وجزاك الله كل خير تقديم بلاغ
بتاريخ: 20 مايو 200818 سنة comment_129232 بص يا أخي ، نفرض أن لدينا جدولين ، الأول خاص بالإارات Dept والثاني يمثل الموظفين Emp ، المطلوب عرض كافة سجلات الإدارات مع عدد موظفين كل قسم وإجمالي مرتباتهم الحل : Select Dept.DeptNo, Dept.DName, Count(Emp.EmpNo) As Count_Emp, Sum(Emp.Sal) As Sum_Salary From Dept Inner Join Emp On Dept.DeptNo = Emp.DeptNo Group By Dept.DeptNo, Dept.DName بعد ذلك قم بإرسال هذه الجملة لجروب بالتقريرشكراً تقديم بلاغ
بتاريخ: 20 مايو 200818 سنة كاتب الموضوع comment_129250 والله اخي mma لو كان الامر بيدي لكنت خليتك مشرف عام على المنتدياتولكن ولا اقدر اقول غير الله يفتح عليك ويزيدك كمان وكمانبا اجرب اكتب زي الي قلت واشوفوجزاك الله كل خير تقديم بلاغ
بتاريخ: 20 مايو 200818 سنة كاتب الموضوع comment_129251 طيب اخي انا حاولت اغير في الكود علي جبتة ووصلت للنتيجة التالي SELECT DAILY_DO.DOC_NO, DOCTOR.DOC_NAME, MANDOB.MAN_NAME,DOCTOR.CLASSE, DOCTOR.TAKHASOS, Count(DAILY_DO.doc_no) as Count_docFROM DOCTOR, MANDOB, DAILY_DOWHERE DOCTOR.MAN_NO = MANDOB.MAN_NO AND DAILY_DO.DOC_NO = DOCTOR.DOC_NOGroup By DAILY_DO.doc_no بس يطلع هذا الخطى معي كما في الصورة المرفقة تقديم بلاغ
بتاريخ: 20 مايو 200818 سنة comment_129264 والله اخي mma لو كان الامر بيدي لكنت خليتك مشرف عام على المنتدياتولكن ولا اقدر اقول غير الله يفتح عليك ويزيدك كمان وكمانبا اجرب اكتب زي الي قلت واشوفوجزاك الله كل خير أمممممممممممممممبجد أخي أنا أشكرك كل الشكر ويكفيني هذه المعاني الجميلة ، ولكن بجد أخي هناك أفضل مني بكثر بالمنتدي الكريمعلي العموم ، أشكرك كل الشكربس يطلع هذا الخطى معي كما في الصورة المرفقة بص يا أخي ، الأمر Group By وظيفتة الأساسية هو إجراء مجموعات لجدول معين بحيث أن يتم إجراء حسابات مجاميعية علي جدول آخر ، لذلك أي حقل يخص الجدول الرئيسي Master يجب عليك وضعة ضمن Group By ، أما حقل جدول الـ Details فشيء طبيعي أنك تقم بإجراء مجاميع علية من Count و Sum و Max و Min و .... الي آخرةعلي العموم ، انظر الي الكود التالي :SELECT DAILY_DO.DOC_NO, DOCTOR.DOC_NAME, MANDOB.MAN_NAME, DOCTOR.CLASSE, DOCTOR.TAKHASOS, Count(DAILY_DO.doc_no) as Count_doc FROM DOCTOR, MANDOB, DAILY_DO WHERE DOCTOR.MAN_NO = MANDOB.MAN_NO AND DAILY_DO.DOC_NO = DOCTOR.DOC_NO Group By DAILY_DO.DOC_NO, DOCTOR.DOC_NAME, MANDOB.MAN_NAME, DOCTOR.CLASSE, DOCTOR.TAKHASOS بمعني أدق لا تدرج الجملة ( Count(DAILY_DO.doc_no) as Count_doc ) ضمن الـ Group By ، ولا تدرج أي مجاميع أخري مثل الـ Sum, Max, Min, Avg .... الي آخرة ضمن هذه الجملةبالتوفيق تم تعديل 20 مايو 200818 سنة بواسطة MMA تقديم بلاغ
بتاريخ: 21 مايو 200818 سنة كاتب الموضوع comment_129292 مشكور اخي ورح اجرب الكود ومشكور مرة ثانية تقديم بلاغ
بتاريخ: 21 مايو 200818 سنة كاتب الموضوع comment_129301 والله يا اخي الكريمماذا يقالقال احد السلف الصالح:اذا اردت ان تجازي احدا ما جزاء لا تستطيع ان تجازيه اياه فقل له (جزاك الله خيرا)فإنك بذلك قد اوكلت جزاؤه عند الله وهو خير من يجزيوانا لا اقول لك سوى جزاك الله كل خيرانا كل الي عملته نسخ من الكود الي انت كتبتة وعملت لصق والريبورت اشتغل زي الفلجزاك الله كل خير تقديم بلاغ
بتاريخ: 21 مايو 200818 سنة comment_129319 انا كل الي عملته نسخ من الكود الي انت كتبتة وعملت لصق والريبورت اشتغل زي الفل كويس أنه أشتغل ، بس بردوا أخي أنا أنصحك نصيحة أخوية وبدون زعل !!!ياريت تحاول تفهم الكود ولما كتبته بهذا الشكل ، حتي بعد ذلك يمكنك صناعة ما تحتاجة بنفسكشكراً ، وجزاك الله كل خير ، ويارب دايماً بالتوفيق تقديم بلاغ
بتاريخ: 21 مايو 200818 سنة كاتب الموضوع comment_129325 مشكور اخي على النصيحة وهذا الشي اكيدبس عندي استفسار انا الان تطلع معي كل الاطباء الذين انزارو بس الي ما ا نزارو ما يطلعوااشتي اخليهم يطلعو وتكون امامهم القيمة صفروشكرا تقديم بلاغ
بتاريخ: 22 مايو 200818 سنة comment_129376 انا الان تطلع معي كل الاطباء الذين انزارو بس الي ما ا نزارو ما يطلعوا مش فاهم ، ممكن توضيح أكثر شكراً تقديم بلاغ
بتاريخ: 24 مايو 200818 سنة كاتب الموضوع comment_129459 انا اقصد ان التقرير الن يطلع فقط الاطباء الذين تم زيارتهم من المندوبيناما الاطباء الذين لم يزورهم المندوبين فلم يضهرو في التقرير مع اني كنت اتوقع ان في التقرير يضهر اما م اسمائهم الرقم صفرارجوا ا ني وصلت الفكرةومشكور تقديم بلاغ
بتاريخ: 25 مايو 200818 سنة comment_129563 عفواً أخي ، أكيد هناك مشكلة أخري حسابية غير واضحة مثل عمليات الربط بين الجداول ، مثلاً إستخدام الربط الداخلي بدلاً من الربط الخارجي ، أو إجراء شرط غير مناسب !!!حاول تعمل فحص Test شامل علي جملة الإستعلام البنيوي SQL التي قمت بإنشائهاشكراً تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.