الانتقال إلى المحتوى

طلب اظهار رقم الموظف واسمه بشرط معيين


com01

Recommended Posts

السلام عليكم وبعد
أظهر رقم الموظف EMPNO واسم الموظف ENAME ورقم المديريات DEPTNO على شرط أن يكون عدد الموظفين الذين يعملون بها اكثر من 5 موظفين ومافوق يعني اكبر ويساوي والأهم أظهار أسم هذه المديريات وموقع هذه المديريات يعني ال LOC AND DNAME
وسلامي لكم اخوكم :D

رابط هذا التعليق
شارك

SELECT E.EMPNO ,E.ENAME ,E.DEPTNO ,D.LOC ,D.DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO AND D.DEPTNO  IN (SELECT DEPTNO 
                                   FROM EMP GROUP BY DEPTNO 
                                  HAVING COUNT(*) > 5 )


B.R.

رابط هذا التعليق
شارك

شكرا صديقي ...... هذا يسمى كلام جميل
بس شو رئيك بالأسئلة صعبه ؟؟. يعني مستوى كذه اسئلة ممكن يستفيد الواحد منها ..؟
بعدين لي طلب عندك اي اسئلة انت كاتبها او مفكر فيها ممكن تبعتلي ياها لو سمحت واي عضو هنه يبعت ولكم جزيل الشكر أخوكم حسان :D

رابط هذا التعليق
شارك

  • بعد 2 سنة...

الاخ عبد الله
نشكرك على حل المثال السابق والشرح
واذا تكرمت بدى حل مثال اخر على نفس قاعدة التدريب للمستخدم scott
وهوعند ظهور الراتب 1000 تظهر علامة النجمة امامه مرة واحدة
وعند ظهور الراتب 2210 تظهر علامة النجمة امامه مرتان
وعند ظهور الراتب 3450 تظهر علامة النجمة امامه 3 مرات
وهكذا
وهذا طبعا في حقل جديد بعنوان new_sal
واشكرك كثيرا جدا اذا ساعدتني
ويارب يكون حل سريع

رابط هذا التعليق
شارك

الاخ عبد الله
نشكرك على حل المثال السابق والشرح
واذا تكرمت بدى حل مثال اخر على نفس قاعدة التدريب للمستخدم scott
وهوعند ظهور الراتب 1000 تظهر علامة النجمة امامه مرة واحدة
وعند ظهور الراتب 2210 تظهر علامة النجمة امامه مرتان
وعند ظهور الراتب 3450 تظهر علامة النجمة امامه 3 مرات
وهكذا
وهذا طبعا في حقل جديد بعنوان new_sal
واشكرك كثيرا جدا اذا ساعدتني
ويارب يكون حل سريع



SELECT SAL,LPAD(' ',TRUNC(SAL/1000)+1,'*')  new_sal FROM EMP

رابط هذا التعليق
شارك

اخى الكريم
اشكرك جدا جدا على هذا الرد السريع
ولكن لي سؤال لو سمحت لماذا نزيد على الراتب رقم 1
مامعناها
TRUNC(SAL/1000)+1,'*')
اشكرك جدا مقدما

اخى الكريم
اشكرك جدا جدا على هذا الرد السريع
ولكن لي سؤال لو سمحت لماذا نزيد على الراتب رقم 1
مامعناها
TRUNC(SAL/1000)+1,'*')
اشكرك جدا مقدما

رابط هذا التعليق
شارك

السلام عليكم
أخي سأجيبك عن الأخ موودي
عملية اضافة 1 هي بدل الفراغ الذي وضعه ك string حيث أن الصيغة العامة للمعامل lpad , rpad كالتالي:
LPAD (column|exprition,n,'string')
وتعبر n في الصيغة عن طول الناتج النهائي بعد اضافة string
وللفائدة هذا حل أخر للمسألة:
select Rpad(sal,((sal-mod(sal,1000))/1000)+length(sal),'*') new_sal
from emp
/
ولك وللأخ موودي جزيل الشكر على محاولة نفض الغبار عن مخي

رابط هذا التعليق
شارك

السلام عليكم
أخي سأجيبك عن الأخ موودي
عملية اضافة 1 هي بدل الفراغ الذي وضعه ك string حيث أن الصيغة العامة للمعامل lpad , rpad كالتالي:
LPAD (column|exprition,n,'string')
وتعبر n في الصيغة عن طول الناتج النهائي بعد اضافة string
وللفائدة هذا حل أخر للمسألة:
select Rpad(sal,((sal-mod(sal,1000))/1000)+length(sal),'*') new_sal
from emp
/
ولك وللأخ موودي جزيل الشكر على محاولة نفض الغبار عن مخي


ولا يهمك يا استاذي العزيز ولكنك اجبت عن الجزء المختص بال padding
واعتقد ان استفسار الاخ السائل كان حول اضافة الرقم 1 لناتج عملية ال trunc
لنفرض انك اجريت عمليت TRUNC(500/1000) فسيكون الناتج صفر
SQL> select trunc(500/1000) from dual;

TRUNC(500/1000)
---------------
		  0


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

SELECT SAL,LPAD(' ',TRUNC(SAL/1000),'*')  new_sal FROM EMP

رابط هذا التعليق
شارك

  • بعد 3 أسابيع...
  • بعد 9 شهور...

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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