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

وصلت لنصف الحل فساعدوني للنصف الآخر

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
أخواني الكرام أنا أريد ان اعرض مجموع الموظفين التابعين لكل إدارة يعني أظهر أن الإدارة الفلانية بها عدد موظفين كذا أنا نجحت في هذا لكن المشكلة أني أريد أن أعرض مع كل إدارة أسماء الموظفين فجربت Group By ولكنها تظهر الموظفين ولا تظهر المجموع بشكل صحيح أرجو المساعدة وشكرا وهذا هو الكود أرجو منكم يإخواني أن تكملوه لي

select  
count(*) total ,
sum (decode (deptno , 10,1,0))"10",
sum (decode (deptno , 20,1,0))"20",
sum (decode (deptno , 30,1,0))"30" 
from emp;
// here I want to add the group but i do and it does not work

بتاريخ:

لو انت عاوز عدد الموظفين واسمائهم لكل ادارة ده مش ممكن لأن عدد الموظفين بيطلع في خانة واحدة ولكن اسمائهم هيكونو في اكثر من خانه
فمش هينفع يكونوا في صف واحد فلو عايز تتطلع اسماء الموظفين لا تستخدم ال group function
واتمنى اني اكون فهمت السؤال لانه مش واضح اوي

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

نعم أخي أنت فهمت السؤال لكن هناك أخ قال أنها تتم عن طريق
nested lGrouping
لكن لا أعرف كيف أعملها

بتاريخ:

السلام عليكم اخي الكريم
اصل لو انت عاوز تظهر اسم الموظف و القسم ليه تستخدم الgrouping اصلا ما كده كده هيظهر اسم الموظف والقسم بتاعه لكل الموظفين
ممكن تعمل select عادية وترتب بحسب القسم
و nested grouping ممكن نستخدمها مثلا في اظهار مجموع المرتبات لكل وظيفه في القسم
كالاتي

select department_id,job_id,sum (salary)
from employees group  by department_id,job_id
order by department_id

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

وعليكم السلام أخي أنا جربت طريقةGROUP BY CUBE
بس ظهرت أعمدة كثيرة لا أعرف كيف أتحكم فيها

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

بتاريخ:

أخى الكريم \ islamic_boy600

أنا بصراحة مش عارف أيه شكل ال out put اللى انت تقصده ، أرجو ان تقوم بعمل رسم كروكى للشكل المراد
، أنا عملت اللى انا متصوره ببرنامج ال Paint فى الصورة دى :-
post-34898-1218044712_thumb.png
لو تصورى خاطىء ، فأرجو أن تقوم بتحرير الصورة على برنامج ال Paint و ظبط الصورة
بالشكل اللى يقارب شكل ال Out Put اللى انت عاوزه ؛ و من ثم أرفاق الصورة بالمنتدى .

و شكراً

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

السلام عليكم ورحمة الله وبركاته
أخي هاني شاكر لك إهتمامك وربنا يجعله سبب في مساعدة إخوانك
هذا هو الشكل الذي أرغب فيه

post-65652-1218057311_thumb.jpg

بتاريخ:

أخى الكريم \ islamic_boy600

شكراً لأرفاقك للصورة التى طلبتها ..... و لكن للأسف ال Out Put الذى ذكرته غير منطقى و لايمكن تنفيذيه ....... فعلى حسب ما فهمت من الصورة انت تريد ان تضع مجموع ال DeptNO فى اى صف من الصفوف التى تشمل رقم هذا القسم ، فعلى أى أساس سوف يتم أختيار هذا الصف !
post-34898-1218063902_thumb.jpg

أن هذا هو الكود المنطقى لما تريده :-

SELECT   ename, deptno, COUNT (deptno)
   FROM emp GROUP BY ename, deptno
ORDER BY deptno;



فهو يظهر أسم الموظف و رقم القسم الذى يعمل به و مجموع الاقسام بال Group by

أذا كانت لك وجهة نظر مختلفه ، فأعلمنى ..... و أنا سأدرسها .

و بالتوفيق .

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

بوركت أخي هاني نعم الإستعلام الذي أوردته هو ما أريد
جزاك الله خيرا

بتاريخ:

معلش يا جماعة بس انا لما جربت الكود طلع مع كل سطر رقم1 وهو ده الطبيعي
بس مابيرجعش مجموع الاقسام لان مجموع الاقسام group by الename وال deptno هيكون واحد

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

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

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

بتاريخ:

هل تقصد هذا الكود :-

SELECT   ename, deptno,
        DECODE (deptno,
                10, (SELECT COUNT (deptno)
                       FROM emp WHERE deptno = 10),
                20, (SELECT COUNT (deptno)
                       FROM emp WHERE deptno = 20),
                30, (SELECT COUNT (deptno)
                       FROM emp WHERE deptno = 30),
                0
               ) " The Count fo DEPTNO "
   FROM emp GROUP BY ename, deptno
ORDER BY deptno;



بس ناتج مجموع الاقسام هيبقى متكرر ، مش هيبقى موجود بصف واحد من صفوف القسم - كما ذكر أخى islamic_boy600 فى صورته - هيبقى ذى ما فى هذه الصورة :-

post-34898-1218119502_thumb.png

لو ليك وجهة نظر مختلفة فى ال OUT PUT او على الكود فأرجو أعلامى ..... و شكراً

بتاريخ:

هوكده فعلااقرب حاجه من الصورة اللي عاوزها الاخ islamic_boy600

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

شكرا يأخي هاني وبارك الله فيك

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بعد التحية
اخي فالله
اتمني ان تجد ضالتك في هذا الكود

select * from ( SELECT d.DEPTNO,d.DNAME,e.ename,count(e.empNO)
 FROM dept d, emp e
WHERE d.deptno = e.deptno
group by  rollup(d.DEPTNO,d.DNAME,e.ename)
order by d.DEPTNO,d.DNAME
)
where dname is not null;



298056095.jpg

وفقك الله الى ماتحب وتضي

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

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

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

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

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

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

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

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.