الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن تحديد الغائب

مغلق
بدأه husegypt في 16 أبريل 2003 · 7 رد · 2,012 مشاهدة · في أرشيف قسم SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم

أِشكر أخوانى فى هذا المنتدى على حسن تعاونهم

ما أسأل عنه هو انا عندى جدول حقوله كالأتى

أسم الموظف - ساعة التسجيل و ساعة الخروج و حقول تحدد اليوم و الشهر و السنة ما أريده هو كيف يمكن تحديد من غاب

#2

أخي الكريم

قسم الجدول إلى جدولين

1- بيانات الموظفين : رقم الموظف ـ اسم الموظف .. الخ

2- حركة الدوام : رقم الموظف ـ دخول ـ خروح ـ التاريخ

وتربط بينهما واحد لكثير حيث رقم الموظف في الجدول الأول مفتاح رئيسي وفي الجدول الثاني رقم عام مفتاح ربط

بعد ذلك تسجل من داوم باستخدام رقم الموظف في الجدول الثاني

لمعرفة من لم يداوم يمكنك بعبارة sql التالية :

select firsName,lastName from Table1 INNER JION Table2 ON رقم الموظف.Table1=رقم الموظف.Table2 where رقم الموظف.Table1 NOT IN (select رقم الموظف from Table2 where <> ToDATE

ملاحظة :

كتبت لك عبارة sql من الذاكرة ولم أجربها .. ولكن هذه طريقتها

وللفائد فالطريقة المنطقية السيكيولية هي :

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

تحياتي

#3

شكرا أخى على هذا الرد الجميل

و لكن لكى اضعك امام ما انا امامه فانا ما أريده هو كالأتى نظام حضور و انصراف

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

#4

بالنسة للسؤال الأول : نعم

والطريقة منطقياً كالتالي

لنفترض أن الراتب شهرياً :

1- احصل على عدد الأيام التي داومها بين التاريخين .

2- احصل على مقدار ساعات الدوام اليومي المطلوبة من الموظف يومياً .

3- احصل على مجموع الساعات الفعلية التي داومها الموظف من خلال الجدول الثاني

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

5- اقسم الراتب على 30 لينتج لك اليومية .

6- اقسم اليومية على عدد ساعات اليوم الواحد لينتج لك قيمة الساعة الواحدة

7- اضرب عدد الساعات المتبقية على الموظف في قيمة الساعة لينتج لك المبلغ الذي يجب أن يخصم على الموظف .

8- اقسم الراتب الأساسي من الناتج السابق لينتج لك المستحق للموظف هذا الشهر .

وتحياتي

#5

شكرا يا أخى على تعاونك معى :)

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

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))
#6

أريد أى حل أرجوكم :'(

ما أريده هو معرفة من لم يسجل الحضور و الأنصراف فى يوم معين

أستخدمت هذا الكود الا انه لم يعطنى ما أريد

select distinct [name] from employee  Join arrival_departure 

on employee.empID not in(select empID from arrival_departure  )

and [date]<>'4/23/2003
#7

أخي الكريم / ما هي طريقة تسجيلك للغياب ؟ أرجو التوضيح

#8

هذا هو الحل

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' )

بعد انشاء ثلاث حقول أخرى أستطعت التوصل للحل

هذا الموضوع مغلق.

مواضيع مشابهة