الانتقال إلى المحتوى

ساعدوني في عمل هذا الاستعلام ؟؟؟؟؟؟ قاصدكم لا تفشلوني


المقنع2005

Recommended Posts

اخواني الفكرة بشكل عام قمت بعمل استعلام واستخدمت ال count حيث انني اقوم بالاستعلام عن بيانات معينة باستخدام ال group by وما اريده بالضبط هو انه بعد عملية الاستعلام اريد ان اقوم بعرض كافة تفاصيل
البيانات الناتجة من جملة ال group by ولتوضيح الفكرة اكثر قمت بعمل المثال التالي :-

بدايتا قمت بانشاء عمود جديد اسمه Type على الجدول ال emp وقمت باعطاء له القيم 1 و 2 وبشكل تلقائي كما في الصورة

181378850.jpg

الان عند عمل الاستعلام بحيث يظهر ال 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-1
7566 JONES-1

7788 SCOTT 2-
7839 KING 2
7876 ADAMS2-
7900 JAMES2-


حيث نلاحظ ان رقم 1 كان لكل السطور التي لها ال Type=1
حيث نلاحظ ان رقم 1 كان لكل السطور التي لها ال Type=2

طبعا يا شباب هذا مثال للتوضيح واريدكم أن تتخيلو ان لدي جدول فيه مئات القيم لل Type فلا اريد حد يكتب لي استعلام بسيط يحتوي نوع ال type لانه تخيل لدي العديد من القيم .


قاصدكم لا تردوني

تم تعديل بواسطة المقنع2005
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

هل هذا ما تريده ؟

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.

رابط هذا التعليق
شارك

لا اخي أمجد ليس هذا ما اريد

يجب أن يكون الناتج فقط 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

رابط هذا التعليق
شارك

ليس هذا ما اريد واشكركم

اخواني انا لا اريد استخدام تعبير WHERE TYPE IS NOT NULL لانه ممكن يكون لدي مثلا لأحد الصفوف ال tYPE=4 لوحده في الجدول فلا اريد ان يظهر لأنني فقط اقوم
بالاستعلام حسب group by وبشرط ان count > 1

شاهدوا الصورة

546276788.jpg

اريد ان يقوم بعرض فقط نتائج جملة ال group by وهي ال 8 صفوف فقط وليس 14 صف ويا شباب ما حد يقلي استخدم WHERE TYPE IS N .
لانه يمكن تكون لدي قيم لل Type مفردة مثل 4 او 5 .
وبالتالي هذا مثال تقريبي ......

رابط هذا التعليق
شارك

ليس هذا ما اريد واشكركم

اخواني انا لا اريد استخدام تعبير WHERE TYPE IS NOT NULL لانه ممكن يكون لدي مثلا لأحد الصفوف ال tYPE=4 لوحده في الجدول فلا اريد ان يظهر لأنني فقط اقوم
بالاستعلام حسب group by وبشرط ان count > 1

شاهدوا الصورة

546276788.jpg

اريد ان يقوم بعرض فقط نتائج جملة ال 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 تؤدي المطلوب.

مع الاحترام
رابط هذا التعليق
شارك

اخي الكريم بارك الله بك على جملة الاستعلام وهي صحيحة في النتائج بس عندي استفسار
اريد ان أسألك انا لدي في الجدول الحقيقي اكثر من حقل يعني غير ال TYPE اي لدي 5 اعمدة مشتركة كيف يمكن التعديل على جملة الاستعلام .

اي لدي TYPE , TYPE1 ,TYPE2,TYPE3,TYPE4,TYPE5
وانا حطيت المثال السابق تقريبي للفكرة

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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