بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
لدي سؤال
كيف استطيع أن أعرض اسم صاحب أعلى راتب في جدول emp
ليش شرطاً جدول emp
ربما أي جدول آخر .. ولكن emp كمثال فقط
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
لدي سؤال
كيف استطيع أن أعرض اسم صاحب أعلى راتب في جدول emp
ليش شرطاً جدول emp
ربما أي جدول آخر .. ولكن emp كمثال فقط
select ename from emp where sal = (select max(sal) from emp where rownum=1)
اي اعرض صاحب اكبر راتب و تم استخدام فنكشن rownum كي لا تقوم السلكت بارجاع اكثر من نتيجه مثل لو كان هناك راتبين هما الاعلي ويمكن الاستغناء عن هذه الفنكشن اذا تم استبدال = ب in وفي هذه الحالة سيتم عرض اسماء الموظفين لو كان هناك اكثر من شخص يحصلوا علي اعلي مرتب
مع تمنياتي بالتوفيق
ليس هناك
قلب ناصع البياض
ولا قلب قاتم السواد
ولكن دائما
black&white
شكراً جزيلاً لك black&white .. على هذه المساعدة القيمة
ولكن لي ملاحظة عندما نفذت ما قلت ظهر لي SMITH
والنتيجة غير صحيحة حيث اسم صاحب اعلى راتب هو king
ولم يعمل معي إلا هكذا
select ename from emp where sal = (select max(sal) from emp;
ولا أدري ما هو الخلل في rownum ؟
الشكر الجزيل لك على كل حال لمساعدتي وبارك الله فيك
declare cursor c_max is select ename from emp order by sal desc; l begin for r_max in c_max loop dbms_outpu.put_line ( r_max.ename); exit when prod_cur%rowcount = 1; end loop; end;
يمكنك استعمال الكود السابق
عفوا اخواني الكود السابق فيه بعض الاخطاء فالعفو من الجميع
الكود كالتالي
declare cursor c_max is select ename from emp order by sal desc; begin for r_max in c_max loop dbms_output.put_line ( r_max.ename); exit when c_max%rowcount = 1; end loop; end;
والرجاء الدعاء لنا ولوالدينا
هذا الموضوع مغلق.