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

TWO SQL STATMENTS

Featured Replies

بتاريخ:

I AM STUDYING SQL BY MY SELF AND HAVE FACE THE NEXT TWO QUERY STATMENT I CANN'T SOLVE THEM SO IF U HAVE ANY SOLUTION TELL ME
1.Create a query that will display the total number of employees and, of that total, the number of employees hired in 1995, 1996, 1997, and 1998. Create appropriate column headings.
2. Create a matrix query to display the job, the salary for that job based on department number, and the total salary for that job, for departments 10,20, and 30, giving each column an appropriate heading.

بتاريخ:

الاخ العزيز
بالنسبة الي الكويري الاول فممكن كتابته كالتالي
Select Count (empno)
from emp
where to_char( hiredate,'yyyy') between '1995' and '1998';
اما عن الكويري الثاني فانا لم اتعامل مع الماتريكس كويري و ان كنت تريد النتائج فقط و ليس كويري ماتريكس بالذات
فاعتقد انه ممكن الحصول عليها
بالتوفيق
hanon_ocp

بتاريخ:

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


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



اجابة السؤال الاول تعتمد على وظيفة الديكود والاجابة كما يلي :

select count(*) total , 
sum (decode(to_char(hiredate,'YYYY') , 1995,1,0))"1995" ,
sum (decode(to_char(hiredate,'YYYY') , 1996,1,0))"1996" ,
sum (decode(to_char(hiredate,'YYYY') , 1997,1,0))"1997" ,
sum (decode(to_char(hiredate,'YYYY') , 1998,1,0))"1998"  
from emp ;
اجابة السؤال الثاني 

select  job "JOB" , 
sum(decode(deptno,10,sal)) "department 10",
sum(decode(deptno,20,sal)) "department 20",
sum(decode(deptno,30,sal)) "department 30",
sum(sal) "Total"
from emp group by job;


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

بتاريخ:

اسف اخي اذا كنت فهمت السؤال خطأ
hanon_ocp

بتاريخ:

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



السلام عليكم ورحمة الله
السؤال الاول : المعلومات المطلوب اظهارها هى الاتي :
1 - اجمالى عدد الموظفين .
2- من هذا العدد الاجمالى , مطلوب توزيع هذا العدد على سنوات تعيين محدده ومختلفة وهى اربع سنوات وقد يكون هذا الاجمالى الناتج من التوزيع مساويا أو أقل من العدد الاجمالى الناتج من الخطوه الاولى لأنة لم يأخذ كل سنوات التعيين لكل الموظفين ولكنة حدد سنوات اربع فقط كما فى السؤال ... اي ان المطلوب كالاتي :
عدد الموظفين -------- 1995 ---- 1996 ----1997 ----- 1998
14 ---------------------3 ---------2 -------- 1 ------------8
هذه الارقام افتراضيه طبعا بمعني ان 3+2 +1 + 8 = 14

عموما اذا ارد ت تجربة هذا الامر مع سكوت / تيجر المطلوب منك فقط استبدال السنوات 1995 الى 1998 بالسنوات 1980 الى 1983 . ونفذ الأمر وشاهد النتيجة .

ارفق ملف به امر التنفيذ ونتيجة التنفيذ . مع سكوت / تيجر .
مع تمنياتي بالتوفيق .

decode.txt

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

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

بسم الله الرحمن الرحيم و الصلاة و السلام علي أشرف الخلق و سيد العالمين سيدنا محمد صلي الله علية و سلم
السلام عليكم و رحمة الله و بركاته ،،،
في البداية أود أن أحمد الله علي أن هداني لهذا المنتدي الممتاز ، لقد وصل بي الأمر ان أعتقد انه ليس هناك من يريد مساعدة الناس من خلال مشاهدتي للمنتديات الآخري .
اشكر الأخ hanon_OCP علي محاولته الكريمة في مساعدتي و لكن بالفعل أنا لم أكن انتظر هذة الإجابة و لكن شكراً علي الرد و التفاعل السريع مع الرساله و الحمد لله أن الأخ Amgad أجاب الأجابة المراد الوصول إليها و من الواضح أنه خبير
أو في النهاية شكر القائمين علي هذا المنتدي و أود أن أكون مساهماً فعال في مشاركات المستقبل حيث أني جديد في التعامل مع Oracle كما اني احاول تحصيل دروسه بمفردي

بتاريخ:

السلام عليكم
اخ امجد
اعتقد اني قلت فعلا اني قد فهمت السؤال خطأ
و لذلك فلم تكن الاجابة هي المطلوبة
و ايضا انا لا اعرف مستوي من يسأل حتي احدد اذا كانت هذه الاجابة المباشرة هي ما يريده ام لا
ايضا انا احاول اقتطاع جزء من وقتي حت ياستطيع المشاركة في هذا المنتدي
و احاول المشاركة بفاعلية في هذا الجزء الصغير
و علي اي حال مشكور علي جهدك وردك
و اسف مرة اخري اذا كنت فهمت السوال خطأ
وعلي اي حال هذه اجابة اخري اخ المبارك لسؤالك بعد ان فهمته بطريقة صحيحة

select count (*) tot_per_year ,null year
from emp union
select count (*) , to_char(hiredate,'yyyy')
from emp where to_char(hiredate,'yyyy') between '1980' and '1983'
group by to_char(hiredate,'yyyy')
order by year
/


و مرفق ملف به الكود و نتيجة التنفيذ علي سكوت وتايجر
و اذا كان هناك اختلاف ف النتأئج فراجع للداتا طبعا
مشكور جدا

hanon_ocp

sol.txt

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

بتاريخ:

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


السلام عليكم ورحمة الله وبركاته،،
الأخ / hanon_ocp
أشكرك للاهتمام والتوضيح وايضا شكرا لمشاركتك الفعاله فى هذا المنتدي
وجزاك الله خيرا

بتاريخ:

مشكور اخ amgad
hanon_ocp

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

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

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

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

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

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.