الانتقال إلى المحتوى
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.

ترتيب البيانات بدون استخدام order by

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
اخواني قد عملت برنامج وسلمته ولكني تفاجئت حين طلبوا مني ان اعمل الترتيب حسب الدرجة الوضيفيةوانت تعلمون ان الدرجة الوضيفية غير خاضعة للترتيب الابجدي فمثلا امين الصندوق سيظهر قبل رئيس مجلس الادارة في الترتيب الابجدي
وهذه مشكلة بالنسبة لى فكيف اعمل ترتيب على بيانات مختارة وانا لا اعرف غير order by .
على العموم انا اضفت حقل بجانب حقل الدرجة الوضيفية وهو عبارة عن ارقام متسلسلة واصبح لكل وضيفة رقم مقابل لها,
ولكن المشكلة عند اضافة وضيفة جديدة فمثلا كان الرقم المقابل للمبرمجين هو 5 واردت اضافة وضيفة جديدة تسبق درجة المبرمجين مثلا محلل فسوف تكون درجة المحلل الان 5 ودرجة المبرمج ومن يليها سوف تزداد بواحد.
ولكن يجب كذلك تغيير البيانات في الجداول لتتوافق مع التعديل الجديد.
في الحقيقة انا لست مقتنع بما عملته فالبيانات اصبحت كبيرة والدرجات الوضيفية تزداد يوما فيوم .
فهل هناك طريقة مثلى لعمل مثل هذا الترتيب افيدونا افادكم الله .
وانا الان انتهزها فرصة لتقديم شكري وامتناني للمسؤولين والاعضاء عن هذا المنتدى الرائع وعن النوايا الطيبة التي يحملوها .

بتاريخ:

السلام عليكم ورحمة الله وبركاته ,,

اقتراح :
الحل الاول :
انشاء جدول لرموز الدرجات الوظيفيه يحتوى على :
1-الرمز - Primary key
2-مسمى الوظيفة
3-المستوى الوظيفى ( 1 - 2 - 3 - ..... )

يمكن ربط الجدول مع جداول النظام الاخري ..

الحل الثاني : يمكنك استخدام أمر ال decode فى جملة الselect
ثم اجراء الفرز المطلوب
الحل الثاني سيتطلب تعديل دائم للتقرير مع اضافة وظائف جديده .

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

مثال لاستخدام الفرز باستخدام امر الDECODE

select   decode ( job ,'CLERK' ,5 ,'SALESMAN' , 4 , 'MANAGER' ,2 , 'ANALYST' ,3 ,
'PRESIDENT', 1 ,99) JOBGRADE , job ,   empno, ename 
FROM EMP ORDER BY JOBGRADE
/
 JOBGRADE JOB            EMPNO ENAME
---------- --------- ---------- ----------
        1 PRESIDENT       7839 KING
        2 MANAGER         7566 JONES
        2 MANAGER         7698 BLAKE
        2 MANAGER         7782 CLARK
        3 ANALYST         7788 SCOTT
        3 ANALYST         7902 FORD
        4 SALESMAN        7499 ALLEN
        4 SALESMAN        7521 WARD
        4 SALESMAN        7654 MARTIN 4 SALESMAN        7844 TURNER
        5 CLERK           7369 SMITH

 JOBGRADE JOB            EMPNO ENAME
---------- --------- ---------- ----------
        5 CLERK           7934 MILLER
        5 CLERK           7876 ADAMS
        5 CLERK           7900 JAMES

تم تعديل بواسطة Ahmed_oracle

بتاريخ:

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

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

اخواني الاعزاء بارك الله فيكم وجزاكم الله عني خيرا وانا اسف لتضييع وقتكم في مشاكلي وتوكيلكم في مشكلة التفكير عني ولكني ساشهد لكم ولكل من في هذا المنتدى يوم القيامة.
اما بالنسبة للاخ احمد جزاه الله خيرا فاعتقد ان طريقة الdecode صعبة التطبيق في مثل هذه الحالة فانه يجب علي تحديث البيانات يدويا في كل مرة تحصل تحديث للدرجة الوضيفية كما يحصل حاليا فانا من يقوم باضافة الدرجة الوضيفية ولكنها فكرة جيدة قد غابت عني ساعتها .
اما بالنسبة للاخ balck & white اذا لم يكن قلبك انت ناصع البياض فمن يكون اذا.

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

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

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

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

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

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.