بتاريخ: 10 أغسطس 200520 سنة comment_44291 السلام عليكم ورحمة الله وبركاته :أخواني الكرام الموظفين الذين ليس لهم موظفين تحت إدارتهم ، هي عبارة عن إحدى طرق السلف جوين كيف أستطيع أن أعرض الموظفين الذين ليس لهم موظفين تحت إدارتهم :أنظر هذا العبارة لتعرف المطلوب أكثر : select ename from emp where empno not in (select distinct(mgr) from emp); .. . no row selected . ماهو الحل مع الشكر . تم تعديل 10 أغسطس 200520 سنة بواسطة إبراهيم بخش تقديم بلاغ
بتاريخ: 10 أغسطس 200520 سنة comment_44313 أخى انا لا افهم قصدك جيداًو لكن خذ هذا الرد[/sql]SELECT * FROM WHERE MGR IS NULL تقديم بلاغ
بتاريخ: 10 أغسطس 200520 سنة comment_44347 جرب هادا الكود انا اسف عشان ما جربتو لانوانا مو في البيت حالياselect e.ename ,e.empno,m.ename ,m.empnofrom emp e,emp mwhere mgr_id is null تقديم بلاغ
بتاريخ: 10 أغسطس 200520 سنة comment_44353 الاخ m_dbaلنفرض ان هذا الموظف موجود بحقل mgr موظف ولكنه ليس مدير يعني ادخل بالخطأ يعني القيمة مش nullوالحل كما فهمت هو كالتالي Select ename from emp where mgr not in (select empno from emp); بس ممكن توضح اكثر يا اخ ابراهيمما هو المقصود ب أن أعرض الموظفين الذين ليس لهم موظفين تحت إدارتهم تم تعديل 10 أغسطس 200520 سنة بواسطة Admin05 تقديم بلاغ
بتاريخ: 15 أغسطس 200520 سنة comment_44877 ا دققنا في جدول الموظفين نجد انه يحتوي على عمود mgr وهذا العمود يمثل رقم المدير للموظف ... اذن هناك علاقه بين عمود المدير ورقم الموظف فالمدير نفسه عباره عن موظف اي يوجد له رقم داخل داخل عمود empno أي اننا نسطيع ربط الجدول بنفسه عن طريق العمودين mgr و empno ولعم الربط لابد من تقسيم الجدول الى جدولين احدهما يمثل جدول الموظفين مثلا (Worker) والاخر يمثل المدراء وليكن ( manager) بحيث يكون جدول وركر كالتاليempno ename mgrجدول مانجر يكونempno ename الان نربط الجدولين عن طريق الاكول جوين (الربط بالتساوي) SELECT Wroker.empno,worker.ename, manager.ename FROM emp worker,emp manager WHERE worker.mgr = manager.empno;هنا سيتم عرض ارقام الموظفين واسماءهم من جدول وركر وسيتم عرض اسماء المدراء من جدول المدراء بالنسبه لطلبك وهو عرض الموظفين الذين ليس لهم مدراء غير الشرط كالاتيWHERE worker.mgr=NULL;اعذرني لو كان هناك اخطاء لان الجها ز اللي انا فيه لا يوجد فيه اوراكل واذا كان قصدك شي ثاني ارجوا التوضيحمع تحياتياخوكلا تنسانا بصالح دعاااائك تقديم بلاغ
بتاريخ: 16 أغسطس 200520 سنة comment_44907 الأخ محمد السقاف نسيت أن تعمل outer joint لتصبح التعليمة بالشكل:SELECT Worker.empno,worker.ename, manager.ename FROM emp worker,emp manager WHERE worker.mgr = manager.empno(+) and worker.mgr is null تقديم بلاغ
بتاريخ: 16 أغسطس 200520 سنة comment_44919 يوجد تعديل بسيط على جملتك أخ إبراهيم لان mgr يحتوى على قيم null ولذلك نكتب الجملى كالتالىSQL> select ename from emp where empno not in (select nvl(mgr,0) from emp);ENAME----------SMITHALLENWARDMARTINTURNERADAMSJAMESMILLER8 rows selected. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.