سلام عليكم
أِشكر أخوانى فى هذا المنتدى على حسن تعاونهم
ما أسأل عنه هو انا عندى جدول حقوله كالأتى
أسم الموظف - ساعة التسجيل و ساعة الخروج و حقول تحدد اليوم و الشهر و السنة ما أريده هو كيف يمكن تحديد من غاب
سلام عليكم
أِشكر أخوانى فى هذا المنتدى على حسن تعاونهم
ما أسأل عنه هو انا عندى جدول حقوله كالأتى
أسم الموظف - ساعة التسجيل و ساعة الخروج و حقول تحدد اليوم و الشهر و السنة ما أريده هو كيف يمكن تحديد من غاب
أخي الكريم
قسم الجدول إلى جدولين
1- بيانات الموظفين : رقم الموظف ـ اسم الموظف .. الخ
2- حركة الدوام : رقم الموظف ـ دخول ـ خروح ـ التاريخ
وتربط بينهما واحد لكثير حيث رقم الموظف في الجدول الأول مفتاح رئيسي وفي الجدول الثاني رقم عام مفتاح ربط
بعد ذلك تسجل من داوم باستخدام رقم الموظف في الجدول الثاني
لمعرفة من لم يداوم يمكنك بعبارة sql التالية :
select firsName,lastName from Table1 INNER JION Table2 ON رقم الموظف.Table1=رقم الموظف.Table2 where رقم الموظف.Table1 NOT IN (select رقم الموظف from Table2 where <> ToDATE
ملاحظة :
كتبت لك عبارة sql من الذاكرة ولم أجربها .. ولكن هذه طريقتها
وللفائد فالطريقة المنطقية السيكيولية هي :
انتق اسم الموظف في الجدول الأول المرتبط رقمه برقم في الجدول الثاني بشرط أن لا يكون قد داوم بتاريخ اليوم
تحياتي
شكرا أخى على هذا الرد الجميل
و لكن لكى اضعك امام ما انا امامه فانا ما أريده هو كالأتى نظام حضور و انصراف
لحساب مجموع ساعات العمل الخاصة بهم و هو طبعا تطبيق انترانت ما اريده هو هل يمكن ان يتم عمل احتساب المرتب على اساس عدد ساعات عمله ........ ايضا ما اريده هو كيف لى ان أعرف من لم يسجل فى يوم معين اذا ممكن تساعدنى يبقى جزاك الله خيرا
بالنسة للسؤال الأول : نعم
والطريقة منطقياً كالتالي
لنفترض أن الراتب شهرياً :
1- احصل على عدد الأيام التي داومها بين التاريخين .
2- احصل على مقدار ساعات الدوام اليومي المطلوبة من الموظف يومياً .
3- احصل على مجموع الساعات الفعلية التي داومها الموظف من خلال الجدول الثاني
4- اطرح مجموع الساعات الفعلية التي داومها من حاصل ضرب عدد الأيام في مقدار الساعات المطلوبة من الموظف والناتج هو الساعات المتبقية على الموظف
5- اقسم الراتب على 30 لينتج لك اليومية .
6- اقسم اليومية على عدد ساعات اليوم الواحد لينتج لك قيمة الساعة الواحدة
7- اضرب عدد الساعات المتبقية على الموظف في قيمة الساعة لينتج لك المبلغ الذي يجب أن يخصم على الموظف .
8- اقسم الراتب الأساسي من الناتج السابق لينتج لك المستحق للموظف هذا الشهر .
وتحياتي
شكرا يا أخى على تعاونك معى :)
و لكن هذه الجملة مقتبسة من الجملة التى اعطيتنى اياها و لكنه للأسف تعطينى اسماء من حضر و ليس من غاب كيف لى ان أعرف من غاب
select [name] from employee Join arrival_departure ON employee.empid= arrival_departure.empID where employee.empID not IN (select empID from arrival_departure where [date]not in(select [date] from arrival_departure))
أريد أى حل أرجوكم :'(
ما أريده هو معرفة من لم يسجل الحضور و الأنصراف فى يوم معين
أستخدمت هذا الكود الا انه لم يعطنى ما أريد
select distinct [name] from employee Join arrival_departure on employee.empID not in(select empID from arrival_departure ) and [date]<>'4/23/2003
أخي الكريم / ما هي طريقة تسجيلك للغياب ؟ أرجو التوضيح
هذا هو الحل
select distinct [name] from employee Join arrival_departure on employee.empID not in(select empID from arrival_departure where [day]='23'and [month]='4' and [year]='2003' )
بعد انشاء ثلاث حقول أخرى أستطعت التوصل للحل
هذا الموضوع مغلق.