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

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


أبو الروض

Recommended Posts

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

عندي 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:

رابط هذا التعليق
شارك

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

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

مع تمنياتي لك بالتوفيق

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

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

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

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

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

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية