lo2lo2a بتاريخ: 17 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 17 فبراير 2008 السلام عليكم ورحمة الله وبركاته على المستخدم scott/tigerمطلوب queryتأتي ببيانات الناس اللي مرتبتها اعلى من متوسط مرتبات القسم اللي هو فيه يعني مثلا الquery دي select ename,job,sal,deptno from emp where sal> any (select avg(sal) from emp group by deptno); بتجيب البيانات للناس اللي مرتبتها اعلى من متوسط مرتبات الاقسام كلها يعني حنلاقي CLARK مرتبه 2450 وجه برده مع ان متوسط مرتبات قسمه هو 2916وطبعا الناتج يعتبر خطا لانه اقل من متوسط مرتبات قسمه والمقارنه هنا لما حصلت حصلت على متوسط مرتبات الاقسام كلها مش قسم 10 بس ارجو ان السؤال يكون واضح انا حاولت فيها كتير بس ما عرفتش فارجو المساعده اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
حبيب الامس بتاريخ: 18 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 18 فبراير 2008 (معدل) select ename,job,sal,max(sal ) "Maximum Salary in Department",deptno from emp where sal> (select avg(sal) from emp) group by deptno,job,sal,ename order by deptno تم تعديل 18 فبراير 2008 بواسطة حبيب الامس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
lo2lo2a بتاريخ: 22 فبراير 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 22 فبراير 2008 جزاك الله كل خير بس حضرتك لو نفذت الQUERY دي SELECT AVG(SAL),DEPTNO FROM EMP GROUP BY DEPTNO; حتلاحظ ان متوسط المرتبات في القسم 10 هي 2916ولما تنفذ الQUERY بتاعت حضرتك حتلاحظ انه في قسم رقم 10 الموظف CLARK وهو في قسم رقم 10 راتبه 2450وهو اقل من 2916 اللي هو متوسط مرتبات القسم 10وده يعتبر نتيجه خاطئيه لانه هنا قارن بالمتوسطات للاقسام كلها والمطلوب انه لما يجي يقارن يقارن كل موظف بقسمه فقط اتمنى ان الفكره تكون واضحه وجزاك الله خيرا على المحاوله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mr_khaledali بتاريخ: 22 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 22 فبراير 2008 select last_name,job_id,salary,department_id from employees outer where salary> (select avg(salary) from employees where department_id= outer.department_id); شوف ال query دي وان شاء الله تشتغل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
lo2lo2a بتاريخ: 23 فبراير 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 23 فبراير 2008 جزاك الله خيرا اشتغلت كده بس انا مش فاهمه انت عملت كده ليه ممكن توضحلي استخدام الouter اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mr_khaledali بتاريخ: 23 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 23 فبراير 2008 (معدل) انتي ممكن تحطي outer أو اي اسم مستعار للجدول اما سبب ان انا حطيت outer عند where department_id=outer.department_id عملت join في الدالة الفرعية بعمل ربط رقم الادارة مع جدول الموظفين علشان يفهم انه متوسط المرتبات اللي في الكويري الفرعية أصغر من المرتبات في جدول الموظفين اللي في الكويري الرئيسيةاتمنى ان تكون الصورة وضحت وشكرا تم تعديل 23 فبراير 2008 بواسطة mr_khaledali اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.