المقنع2005 بتاريخ: 30 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 30 يناير 2010 (معدل) اخواني الفكرة بشكل عام قمت بعمل استعلام واستخدمت ال count حيث انني اقوم بالاستعلام عن بيانات معينة باستخدام ال group by وما اريده بالضبط هو انه بعد عملية الاستعلام اريد ان اقوم بعرض كافة تفاصيل البيانات الناتجة من جملة ال group by ولتوضيح الفكرة اكثر قمت بعمل المثال التالي :-بدايتا قمت بانشاء عمود جديد اسمه Type على الجدول ال emp وقمت باعطاء له القيم 1 و 2 وبشكل تلقائي كما في الصورةالان عند عمل الاستعلام بحيث يظهر ال type وعدد الموظفين لكل نوع SQL> select count(*),type 2 from emp 3 having count(*) > 1 4 group by type 5 / COUNT(*) T ---------- - 4 1 6 4 2 الا الان ما في مشكلة , كل ما اريده بعد هذه الخطوووووة اريد عمل استعلام بحيث اظهر تفاصيل جملة الاستعلام السابقة اي كما نلاحط انه لأربع موظفين كان ال type=1 ولاربع موظفين كان ال Type=2 اريد جملة استعلام بحيث تظهر 8 سطور ويكون الترتيب على النحو التالي :-1-7369 SMITH 7499 ALLEN-1 7521 WARD-17566 JONES-1 7788 SCOTT 2- 7839 KING 2 7876 ADAMS2-7900 JAMES2- حيث نلاحظ ان رقم 1 كان لكل السطور التي لها ال Type=1حيث نلاحظ ان رقم 1 كان لكل السطور التي لها ال Type=2طبعا يا شباب هذا مثال للتوضيح واريدكم أن تتخيلو ان لدي جدول فيه مئات القيم لل Type فلا اريد حد يكتب لي استعلام بسيط يحتوي نوع ال type لانه تخيل لدي العديد من القيم .قاصدكم لا تردوني تم تعديل 30 يناير 2010 بواسطة المقنع2005 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 30 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 30 يناير 2010 السلام عليكم ورحمة الله هل هذا ما تريده ؟ SQL> select empno , ename||'-'||deptno xxxx from emp order by deptno; EMPNO XXXX ---------- --------------------------------------------------- 7782 CLARK-10 7839 KING-10 7934 MILLER-10 7566 JONES-20 7902 FORD-20 7876 ADAMS-20 7369 SMITH-20 7788 SCOTT-20 7521 WARD-30 7844 TURNER-30 7499 ALLEN-30 EMPNO XXXX ---------- --------------------------------------------------- 7900 JAMES-30 7698 BLAKE-30 7654 MARTIN-30 14 rows selected. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المقنع2005 بتاريخ: 31 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 لا اخي أمجد ليس هذا ما اريديجب أن يكون الناتج فقط 8 اعمدة 1-7369 SMITH 7499 ALLEN-1 7521 WARD-1 7566 JONES-1 7788 SCOTT 2- 7839 KING 2 7876 ADAMS2- 7900 JAMES2- حيث أتها تفاصيل جملة الاستعلام باستخدام ال GROUB BY اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mk3bmw بتاريخ: 31 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 الجملة التالية تؤدي الغرض SELECT ENAME||' '||EMPNO||'-'||TYPE FROM EMP WHERE TYPE IS NOT NULL ORDER BY TYPE اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المقنع2005 بتاريخ: 31 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 ليس هذا ما اريد واشكركم اخواني انا لا اريد استخدام تعبير WHERE TYPE IS NOT NULL لانه ممكن يكون لدي مثلا لأحد الصفوف ال tYPE=4 لوحده في الجدول فلا اريد ان يظهر لأنني فقط اقوم بالاستعلام حسب group by وبشرط ان count > 1شاهدوا الصورةاريد ان يقوم بعرض فقط نتائج جملة ال group by وهي ال 8 صفوف فقط وليس 14 صف ويا شباب ما حد يقلي استخدم WHERE TYPE IS N .لانه يمكن تكون لدي قيم لل Type مفردة مثل 4 او 5 .وبالتالي هذا مثال تقريبي ...... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المقنع2005 بتاريخ: 31 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 الموضوع بكل اختصار اريد عرض تفاصيل جملة ال group by . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المقنع2005 بتاريخ: 31 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 ???????????????????????????? اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
elmousa68 بتاريخ: 31 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 ليس هذا ما اريد واشكركم اخواني انا لا اريد استخدام تعبير WHERE TYPE IS NOT NULL لانه ممكن يكون لدي مثلا لأحد الصفوف ال tYPE=4 لوحده في الجدول فلا اريد ان يظهر لأنني فقط اقوم بالاستعلام حسب group by وبشرط ان count > 1شاهدوا الصورةاريد ان يقوم بعرض فقط نتائج جملة ال group by وهي ال 8 صفوف فقط وليس 14 صف ويا شباب ما حد يقلي استخدم WHERE TYPE IS N .لانه يمكن تكون لدي قيم لل Type مفردة مثل 4 او 5 .وبالتالي هذا مثال تقريبي ...... بامكانك تجريب التالي:SELECT EMPNO,ENAME,TYPE FROM EMP E WHERE EXISTS (SELECT TYPE FROM EMP P WHERE E.TYPE=P.TYPE)AND TYPE IN (SELECT TYPE FROM EMP GROUP BY TYPE HAVING COUNT(TYPE)>1)GROUP BY TYPE,EMPNO,ENAMEأعتقد أن هذه SELECT تؤدي المطلوب.مع الاحترام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المقنع2005 بتاريخ: 31 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 اخي الكريم بارك الله بك على جملة الاستعلام وهي صحيحة في النتائج بس عندي استفسار اريد ان أسألك انا لدي في الجدول الحقيقي اكثر من حقل يعني غير ال TYPE اي لدي 5 اعمدة مشتركة كيف يمكن التعديل على جملة الاستعلام .اي لدي TYPE , TYPE1 ,TYPE2,TYPE3,TYPE4,TYPE5وانا حطيت المثال السابق تقريبي للفكرة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أحمد جادو بتاريخ: 31 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 31 يناير 2010 أخي الكريم (المقنع) راجع هذه المشاركة:http://www.araboug.org/ib/index.php?showtopic=39857&hl= اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.