إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

إسترجاع البيانات من 3 جداول


4 رد (ردود) على هذا الموضوع

#1 أبو الروض

أبو الروض

    عضو نشط

  • الأعضــاء
  • 324 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:ب

تاريخ المشاركة 07 December 2005 - 02:13 PM

السلام عليكم ورحمة الله وبركاته

عندي 3 جداول لمشروع الموظفين
الأول وهو الجدول الأساسي
الثاني جدول الرواتب
الثالث جدول البدلات


طبعا جدول البدلات عبارة عن frequency يعني يقوم المستخدم بإدخال البدل مرة واحدة
وهي عندما يتم تعيين الموظف
المهم في جدول البدلات يتم الإدخال على الأتي :
رقم البدل - إسم البدل - قيمة البدل - صلاحية البدل - يبدأ من - ينتهي في

يقصد بصلاحية البدل القيمة يعني لو أدخلت 3 سيقوم بحساب التاريخ من البداية حتى النهاية المحددة أعلاه
لو إفترضنا أن صلاحية البدل 2 وأن البداية هي 01/01/2005 والنهاية 01/01/2006 ستكون النتيجة
01/01/2005 2000 ريال
01/04/2005 2000 ريال
01/07/2005 2000 ريال
01/10/2005 2000 ريال

طبعا هذه القيم سوف تسجل في جدول أخر

ليس هذا المهم فالحمد لله لقد تم عمله ولكن المشكلة في الريبورت
أريد أن أطبع رقم وإسمه وراتبه والبدل مع العلم والتأكيد أن في الريبورت باراميترين
الأول : للشهر
الثاني : للسنة

المهم عندما أطبع الريبورت يعطيني القيم التي أحددها يعني إذا كانت القيم موجودة في البدلات
مثال للفهم :

إذا أردت أن أطبع في شهر 4 وفي سنة 2005 سوف يعطيني القيم من 3 جداول
أما إذا أردت أن أطبع في شهر 5 سنة 2005 فلا يعطيني أي قيم
والذي أريده أن يعطيني رقم الموظف وإسمه وراتبه بدون البدل لعدم وجود البدل في هذا الشهر

فلقد قمت بكتابة هذا المثال أرجوا منكم أن تشيكوه وتشوفوا الأخطاء التي فيه

ولكم جزيل الشكر


select  P.per_no, p.first_name_en||' '||p.middle_name_en||' '||p.family_name_en , Af.ALLOFO, S.SS
from personal P , (Select Per_No , Sum(nvl(ALLOWASALARY,0)) ALLOFO from allowancefollow Where
 TO_NUMBER(TO_CHAR(ALLOWANCEFOLLOW.START_DATE,'MM'))   = &1
 AND  TO_NUMBER(TO_CHAR(ALLOWANCEFOLLOW.START_DATE,'YYYY')) = &2005
     Group By Per_No) AF,
     (Select Per_no, Sum(Nvl(Basic_Pay,0)) SS From Salary_Info Group By Per_No) S
   Where  P.Per_No = Af.Per_No
   And P.Per_No = S.Per_No;

:lol:

#2 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 07 December 2005 - 04:52 PM

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

ويوجد طريقة اخرى وهي عمل 3 كويري بحيث لكل جدول كويري منفصل واللنك بينهما اللذي حددته بالبراميتر بالاضافة الى رقم الموظف
واستخدم ال hold formela للربط بين الجداول
ولكن اظن ان الطريقة الاخرى افضل بحيث انك تستطيع ابدال البيانات الفارغة ببيانات التي تريدها

مع تمنياتي لك بالتوفيق
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#3 أبو الروض

أبو الروض

    عضو نشط

  • الأعضــاء
  • 324 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:ب

تاريخ المشاركة 07 December 2005 - 05:32 PM

أشكرك أخي admin على مشاركتك معي ولكن كيف أستخدم الطريقة الثانية

وجزاك الله ألف ألف خير

#4 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 December 2005 - 11:15 AM

اخي الكريم
قم بارسال التقرير على ايميلي لأني غير واضح بالنسبة لي ماذا تريد
وسوف اقوم بتطبيق الطريقة لك باذن الله
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#5 أبو الروض

أبو الروض

    عضو نشط

  • الأعضــاء
  • 324 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:ب

تاريخ المشاركة 10 December 2005 - 04:59 PM

أخ Admin مشكور جدا ياحلو لقد قمت بعمل مأريد والفضل لله ثم لك يأخي ولكن إن شاء الله سوف أقوم بإرسال لك برنامج شئؤون الموظفين
وخاصة نظام الرواتب وهم ممتاز جدا ورائع بحيث تقوم بإدخال المرتبات والبدلات السنوية والخصومات السنوية والبرنامج لوحده يقوم بحساب كل شئ بريبورت وإن شاء الله قريبا خلال 5 أو 10 ايام سوف أرسله لك

وأنا متأكد سوف يعجبك

مرة أخرى جزاك اله كل الخير دنيا وأخرة

أمين يارب العالمين