الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مطلوب : ايجاد اصغر تاريخ بداية الاجازة واكبر تاريخ نهاية

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
اخواني الاعزاء في المنتدى ارجو مساعدتي في مشكلتي

لدي جدول كالتالي رقم الموظف اسمه تاريخ بداية الاجازة تاريخ نهاية الاجازة
1 احمد 1/1/2009 31/12/2009
1 احمد 1/1/2010 31/12/2010
2 محمد 1/5/2005 30/4/2006
2 محمد 1/5/2006 30/4/2006
2 محمد 1/1/2008 31/12/2008
2 محمد 1/1/2009 31/12/2009

علي ايجاد اصغر تاريخ بداية الاجازة واكبر تاريخ نهاية اذا كانت الاجازة متصلة مثلا عند الموظف احمد تاريخ البداية هو 1/1/2009 وتاريخ النهاية 31/12/2010 اما عند الموظف محمد فان تاريخ البداية هو 1/1/2008 وتاريخ النهاية 31/12/2009 عن طريق عمل function ولكم جزيل الشكر مقدما وارجو ان اجد الاجابة

بتاريخ:

السلام عليكم ورحمة الله وبركاته
اخواني الاعزاء في المنتدى ارجو مساعدتي في مشكلتي

لدي جدول كالتالي رقم الموظف اسمه تاريخ بداية الاجازة تاريخ نهاية الاجازة
1 احمد 1/1/2009 31/12/2009
1 احمد 1/1/2010 31/12/2010
2 محمد 1/5/2005 30/4/2006
2 محمد 1/5/2006 30/4/2006
2 محمد 1/1/2008 31/12/2008
2 محمد 1/1/2009 31/12/2009

علي ايجاد اصغر تاريخ بداية الاجازة واكبر تاريخ نهاية اذا كانت الاجازة متصلة مثلا عند الموظف احمد تاريخ البداية هو 1/1/2009 وتاريخ النهاية 31/12/2010 اما عند الموظف محمد فان تاريخ البداية هو 1/1/2008 وتاريخ النهاية 31/12/2009 عن طريق عمل function ولكم جزيل الشكر مقدما وارجو ان اجد الاجابة


suppose that structure of your table (EMP) as below
empno
start_date
end_date

you can do by below query


 SELECT t1.empno, MIN (t1.start_date), MAX (t1.end_date)
   FROM emp t1
  WHERE EXISTS
	    (SELECT 1
		   FROM emp t2
		  WHERE t1.empno = t2.empno
			    AND (t1.start_date - 1 = t2.end_date
					 OR t1.end_date = t1.start_date - 1))
GROUP BY t1.empno

بتاريخ:
  • كاتب الموضوع

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

1 احمد 1/1/2009 31/12/2010

2 محمد 1/5/2005 30/4/2006

2 محمد 1/1/2008 31/12/2009
لاني اريد ان احصل على تاريخ بداية ونهاية لكل اجازة متصلة على حدى

بتاريخ:

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

1 احمد 1/1/2009 31/12/2010

2 محمد 1/5/2005 30/4/2006

2 محمد 1/1/2008 31/12/2009
لاني اريد ان احصل على تاريخ بداية ونهاية لكل اجازة متصلة على حدى


Sorry I misunderstand your requirement
I think that you want to get only one record per every employee

kindly send me your table structure and insert script for sample data to help you
بتاريخ:

You can also check this



 SELECT DISTINCT
	 t1.empno,
	 LEAST (t1.start_date, t2.start_date) start_date,
	 GREATEST (t1.end_date, t2.end_date) end_date
   FROM emp t1, emp t2
  WHERE t1.empno = t2.empno
	 AND (t1.start_date - 1 = t2.end_date
		  OR t1.end_date = t1.start_date - 1)
GROUP BY t1.empno

بتاريخ:
  • كاتب الموضوع

شكرا على الرد
انا اعمل على oracle hrms

بتاريخ:

شكرا على الرد
انا اعمل على oracle hrms


you can use toad to generate table script and generate insert statement script

I want you check this query

SELECT DISTINCT
                t1.empno,
                LEAST (t1.start_date, t2.start_date) start_date,
                GREATEST (t1.end_date, t2.end_date) end_date
   FROM emp t1, emp t2
  WHERE t1.empno = t2.empno
                AND (t1.start_date - 1 = t2.end_date
                         OR t1.end_date = t1.start_date - 1)
GROUP BY t1.empno

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.