بتاريخ: 3 مايو 200520 سنة comment_34961 عندما يكون عندي جدولين الاول فيها بيانات الموظفين والاخر بيانات رواتب الموظفين بحيث يحتوي الاول على رقم الموظف والثاني على رقم الموظف(مفتاح اجنبي من الجدول الاول) وتاريخ الحصول على الراتب.السؤال كيف استطيع اخراج جميع الموظفين من الجدول الاول مع تاريخ الحصول على الراتب مع العلم ان بعض الموظفين غير موجود في جدول رواتب الموظفين لكن اريده ان يخرج بقيمة لا شيء(يعني اذا كان مسجل 3 موظفين في الجدول و2 فقط منهم مسجل في الجدول الثاني اريد ان يخرج لي ثلاث موظفين المسجلين وغير المسجلين في الجدول الثاني وتكون قيمة الغير مسجلين لا شيء).مع الشكر الجزيل. تقديم بلاغ
بتاريخ: 3 مايو 200520 سنة comment_35066 يمكن اخى استخدام Outer Joinوهو يعنى عرض البيانات من احدى الجدول بالكامل حتى لو تكن لها مقابل (مفتاح) فى الجدول الاخر.بفرض ان اسم الجدول الاول Employees وبه بيانات الموظفينemployee_id, name, hire_dateوالجدول الثانى به تفاصيل الراتب واسمه Emp_sal وبه employee_id , pay_date, salaryيمكن كتابة الجملة كما يلى Select e.employee_id, e.name, s.salary, s.pay_date from employees e, emp_sal s where e.employee_id = s.employee_id(+); فاضافة (+) فى جانب جدول المرتبات يعنى ظهور جيمع السجلات من الجدول على الجانب الاخر (يعنى الموظفين)مع تحياتىاسامه سليمانالقاهرة تقديم بلاغ
بتاريخ: 4 مايو 200520 سنة كاتب الموضوع comment_35098 شكرا اخي على الرد لكن ايضا اريد بقية جواب السؤال وهو عرض الناتج بشرط ان يكون الراتب اخر راتب حصل عليه الموظف في تاريخ معين وان يضع صفر في الراتب الاساسي ان لم يكن له سجل في جدول رواتب الموظفين؟ تقديم بلاغ
بتاريخ: 5 مايو 200520 سنة comment_35223 اخى الكريم /almujtabaلوضع صفر مكان الموظف الغير مسجل بجدول الرواتب فى تاريخ معين يمكن استخدام دالة NVLوالتى تعمل على اعادة قيمة معينة كبديل للقيم الفارغة Nullsوبالتالى تصبح الجملة Select e.employee_id, e.name, NVL(s.salary,0), s.pay_date from employees e, emp_sal s where e.employee_id = s.employee_id(+); مع تحياتىاسامه سليمانالقاهرة تقديم بلاغ
بتاريخ: 7 مايو 200520 سنة كاتب الموضوع comment_35300 شكرا اسامة على تفاعلك ووفقك الله لما يحب ويرضاه تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.