issamfe بتاريخ: 28 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 28 فبراير 2007 هذا السؤال جائني في اخر مقابلة في شركة من اجل التوظيف... ارجوا الفائدة للجميع و الرزق على الله max_5_sal_procedure.txt اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 1 مارس 2007 تقديم بلاغ مشاركة بتاريخ: 1 مارس 2007 السلام عليكم مشكور أخي الكريم و يمكن ايضا تحقيق نفس النتيجة بجملة استعلام بسيطة و هي مثال علي مفهوم الtop n viewاي اعلي ارقام لشئ معين مثل اعلي 5 رواتب او قدم 5 موظفين تم تعيينهم و اليكم جملة الاستعلام SELECT ROWNUM RANK, ename, sal FROM (SELECT * FROM emp ORDER BY sal DESC) a WHERE ROWNUM < &&req_num + 1 ORDER BY sal DESC, ename ملحوظة : عند تشغيل الاستعلام سيطلب منك الرقم الذي تريد الاستعلام عنه مثل اعلي 5 او اعلي 10 و هكذا ادخل الرقم نفسه مثل اذا كنا نريد ان نختار اعلي 5 موظفين من حيث الراتب نكتب 5و ايضا يمكن تعديل الاستعلام ليكون علي تاريخ التعيين مثلا مع تمنياتي بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
العملاق اليمني بتاريخ: 21 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 21 مايو 2007 كلام الزميل هاني مزبوط وشكرا على تفاعلة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ash_Sawalha بتاريخ: 7 يونيو 2007 تقديم بلاغ مشاركة بتاريخ: 7 يونيو 2007 ** طريقة بسيطة وسريعة لإرجاع عدد معين من السجلات في (Report) وهذه الطريقة محددة بعدد معين فقط من السجلات 1 . يتم اختيار (Property Palette) للمجموعة .2 . في خيار (Group) يتم اختيار نوع (Filter Type) مثلاً (First) لإرجاع أول عدد معين من السجلات.3 . يظهر خيار جديد (Number Of Records) نضع فيه عدد السجلات التي نرغب بإرجاعها . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sameh bakkar بتاريخ: 7 يونيو 2007 تقديم بلاغ مشاركة بتاريخ: 7 يونيو 2007 أخى هانى كلنا نعلم Top-N و لكن الاخ صاحب المشاركه ذكر انه كان فى مقابله لوظيفه فربما سألوه ان يقوم بعمل procedure يقوم باستخراج اعلى 5 مرتبات وليس جمله استعلام .. ولك جزيل الشكر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
osama80 بتاريخ: 13 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 13 أبريل 2008 مشكور اخي الكريم على الايضاح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
the last one بتاريخ: 26 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 26 أبريل 2009 السلام عليكم اخى العزيز محاولة جيدة ولكن الكود طويل ولم يؤدى الغرض المطلوب والان سوف اقوم بعرض حل من الحلول الخمسة وهو قصير ويؤدى الغرض بشكل ممتاز select * from emp E where &N = (select count(distinct nvl(sal,0)) from emp ; where sal >= E.sal ) ارجو ان ينال اعجابك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
el_saka بتاريخ: 27 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2009 ده اسهل حل select sal from (select sal from emp order by sal desc) where rownum<6 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.