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

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

صورة
- - - - -

اختيار موظف بشروط


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

#1 ataha

ataha

    عضو

  • الأعضــاء
  • 10 مشاركة

تاريخ المشاركة 30 October 2005 - 02:06 PM

اريد اخيار الموظفين من جدول بشرط معين مثل التاريخ التوظيف = 01-09-2005 وفى نفس الوقت اختيار الموظفين بالتاريخ التعيين اقل من هذا التاريخ =< 01-09-2005 من نفس الجدول
مثل هذا الامر
select p.CREDIT_VALUE,r.emp_aname,p.CREDIT_BALANCE,p.TRANS_DATE from
PAY_EMPLYEE_DEDCUTION p
,PER_EMPLOYMENT_MASTER r
where p.STOP_FLAG = '1'
AND p.SUB_CODE = '10026'
AND p.SUB_DED_CODE = '05015'
and p.TRANS_DATE = '01-09-2005'
or( p.employee_no in (select y.employee_no from PAY_EMPLYEE_DEDCUTION y
where y.SUB_CODE = '10026' AND y.SUB_DED_CODE = '05015'
and y.TRANS_DATE <= '01-09-2005'
and y.DED_END_DATE >='01-09-2005'
and y.employee_no=p.employee_no
and y.employee_no=r.employee_no))
--and y.employee_no=p.employee_no
and p.employee_no=r.employee_no
order by r.emp_aname
/

عند تنفيذ هذاالامر يكرر الاسم للموظف اكثر من خمس مرات فما هو الحل
مع الشكر
ataha@mcit.gov.eg

#2 IGBSpeed

IGBSpeed

    عضو نشط

  • الأعضــاء
  • 253 مشاركة

تاريخ المشاركة 01 November 2005 - 10:56 PM

عزيزي الفاضل نرجوا إعطائنا سكربت الجداول لأنه من الواضح أنك تريد إنشاء إستعلام من علاقة بين جدولين يحتوي أحدهما على تفاصيل مكررة ومختلفة لنفس الموظف خمس مرات مثلاً تربط جدول الموظفين مع جدول دفعات الموظفين لموظف معين ومن ثم تتفاجأ أنها تظهر لك خمسة صفوف عند تنفيذ هذه التعليمة ..

هل أنا صائب ..,, لاحظ أن الجدول المرتبط بجدول البيانات الأساسية للموظفين يحتوي على خمسة تفاصيل .
igb_igsb@hotmail.com

********

صفحتي على الفيس


#3 أسامة موسى

أسامة موسى

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

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

تاريخ المشاركة 02 November 2005 - 02:23 PM

الاخ الكريم
اظن والله اعلم عملية التكرار لوجود اكثر من عملية لنفس رقم الموظف في جدول PAY_EMPLYEE_DEDCUTION p
لذلك يجيب عليك عمل التالي كما هو موضح
ادناه


select  distinct
      p.CREDIT_VALUE,
       r.emp_aname,
       p.CREDIT_BALANCE,
       p.TRANS_DATE 
from
       PAY_EMPLYEE_DEDCUTION p
      ,PER_EMPLOYMENT_MASTER r
where 
    p.STOP_FLAG = '1'
AND p.SUB_CODE = '10026'
AND p.SUB_DED_CODE = '05015'
(and (p.TRANS_DATE = '01-09-2005') or ((y.TRANS_DATE <= '01-09-2005')and  (y.DED_END_DATE >='01-09-2005')
))
                            and p.employee_no=r.employee_no
                            order by r.emp_aname
/

ارجو ان تخبرنا بالنتيجة فقد قمت بعمل اختصار او تعديل على جملة select وان شا الله تؤدي نفس الغرض

تم التعديل بواسطة Admin05, 02 November 2005 - 02:24 PM.

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



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

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