-=|mOOdY|=- بتاريخ: 10 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 10 يناير 2007 كما عودناكم هناك دائما الجديد ,, ومع مودي مش هتقدر تغمض عينيك هناك سؤال تقليدي من قبل الزبائن وهو"اريد اظهار اقل راتب لكل دائرة" والذي ببساطة يمكن حله كما يلي SQL> select deptno, min(sal) 2 from emp 3 group by deptno; ولكن بتعرفو الطلبات ما بتخلص بيرجع بيطلب كمان شغلة"بدي اعرف رقم الموظف صاحب اقل راتب في كل دائرة" بيطلب كثير اشياء فتقوم بتعديل الجملة لكي تصبح SQL> select deptno, empno, min(sal) 2 from emp 3 group by deptno; لكن للأسف يظهر معك الخطأ التالي ORA-00979: not a GROUP BY expression كنا زمان نحل هذه المشكلة باستعمال sub-select او انشاء inline-viewولكن هناك طريقة ظريفة اكتشفتها بالامس منذ 9i وهي موجودة SQL> select deptno, min(sal), min(empno) 2 KEEP ( dense_rank FIRST order by sal) empno 3 from emp 4 group by deptno 5 / DEPTNO MIN(SAL) EMPNO ---------- ---------- ---------- 10 1300 7934 20 800 7369 30 950 7900 ركزو على KEEP ( dense_rank FIRST order by sal) وعدم استعمالنا لا sub-select ولا inline-viewتحياتي تم إضافة الكود في ملف نصي بالمرفقات إدارة المنتدى keep.txt اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
الجنتل بتاريخ: 10 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 10 يناير 2007 السلام عليكماالاخ العزيز مودي والله روتانا سينما ولا شي جنبك لو تشتغل الطريقة على الثمانية آي وفقك اللهالجنتل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
-=|mOOdY|=- بتاريخ: 10 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 10 يناير 2007 حبيبي يا جنتل والله ما بعرف اذا بتشتغل على ال 8 بس مااعتقدانت جرب وردلنا خبر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mw_wageeh بتاريخ: 11 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 11 يناير 2007 السلام عليكمشكر جدا جدا ياحلى والذ واطعم صديق قابلتة على المنتدىدايما سابقنا بحاجاتك الطعمة دىالامر keepموجود بس على 9 اى فما فوفقةعشان بس محدش يقول الجملة غلط ومشتغلتشى معانا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
-=|mOOdY|=- بتاريخ: 11 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2007 شكرا اخوي mw_wageeh بالنسبة للامر keep يمكنك استعماله بشكل عكسي كما يلي KEEP ( dense_rank LAST order by sal) تحياتي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
الجنتل بتاريخ: 11 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 11 يناير 2007 السلام عليكم للاسف ما اشتغلولكن اولا واخيرا يسلموااااااااااا موديوفقك اللهالجنتل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
-=|mOOdY|=- بتاريخ: 11 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 يناير 2007 السلام عليكمالامر keepموجود بس على 9 اى فما فوفقةعشان بس محدش يقول الجملة غلط ومشتغلتشى معانا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wlahmad بتاريخ: 10 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 10 فبراير 2007 زادك المولى إيمانا وعلما وحرصا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
k_sabry بتاريخ: 21 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 21 فبراير 2007 والله جربته على 10 جى ولكن مااشتغل ولكن تسلملا ياشباب اسف والله اشتغل على 10 جى ولكنى كنت انا المخطئ بتنفيذه بارك الله لك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.