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

كيف استطيع عرض هذه المعلومة

مغلق
بدأه فتى تاروت في 4 أبريل 2004 · 4 رد · 731 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

لدي سؤال

كيف استطيع أن أعرض اسم صاحب أعلى راتب في جدول emp

ليش شرطاً جدول emp

ربما أي جدول آخر .. ولكن emp كمثال فقط

#2
select ename from emp where sal = (select max(sal) from emp where rownum=1)

اي اعرض صاحب اكبر راتب و تم استخدام فنكشن rownum كي لا تقوم السلكت بارجاع اكثر من نتيجه مثل لو كان هناك راتبين هما الاعلي ويمكن الاستغناء عن هذه الفنكشن اذا تم استبدال = ب in وفي هذه الحالة سيتم عرض اسماء الموظفين لو كان هناك اكثر من شخص يحصلوا علي اعلي مرتب

مع تمنياتي بالتوفيق

ليس هناك

قلب ناصع البياض

ولا قلب قاتم السواد

ولكن دائما

black&white

#3

شكراً جزيلاً لك black&white .. على هذه المساعدة القيمة

ولكن لي ملاحظة عندما نفذت ما قلت ظهر لي SMITH

والنتيجة غير صحيحة حيث اسم صاحب اعلى راتب هو king

ولم يعمل معي إلا هكذا

select ename from emp where sal = (select max(sal) from emp;

ولا أدري ما هو الخلل في rownum ؟

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

#4
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;

يمكنك استعمال الكود السابق

#5

عفوا اخواني الكود السابق فيه بعض الاخطاء فالعفو من الجميع

الكود كالتالي

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;

والرجاء الدعاء لنا ولوالدينا

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

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