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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


9 رد (ردود) على هذا الموضوع

#1 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 12:37 AM

اخواني الفكرة بشكل عام قمت بعمل استعلام واستخدمت ال 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-1
7566 JONES-1

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


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

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


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

تم التعديل بواسطة المقنع2005, 31 January 2010 - 12:38 AM.


#2 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,558 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 31 January 2010 - 01:48 AM

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

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

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.

لا إله إلا الله الحليم الكريم
لا اله إلا الله العلى العظيم
لا اله إلا الله رب السماوات السبع و رب العرش العظيم
‏اللهم ارزقني قبل الموت توبة وعند الموت شهادة وبعد الموت جنة
اللهم ارزقني حسن الخاتمة
اللهم هون علينا سكرات الموت ... ونور علينا قبورنا
اللهم ارزقني الموت وأنا ساجد لك يا ارحم الراحمين
اللهم ثبتني عند سؤال الملكين
اللهم اجعل قبري روضة من رياض الجنة ولا تجعله حفرة من حفر النار
اللهم اني اعوذ بك من فتن الدنيا
اللهم ارحم ابائنا وامهاتنا واغفر لهما وتجاوز عن سيئاتهما وادخلهم فسيح جناتك ... والحقنا بهما يا رب العالمين
اللهم ارحم موتانا وموتى المسلمين واشفي مرضانا ومرضى المسلمين
اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات
وبارك اللهم على سيدنا محمد صلى الله عليه وسلم
اللهم آمين ... اللهم آمين ... اللهم آمين


....


#3 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 08:20 AM

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

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

#4 mk3bmw

mk3bmw

    عضو نشط

  • الأعضــاء
  • 234 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 January 2010 - 08:58 AM

الجملة التالية تؤدي الغرض
SELECT ENAME||' '||EMPNO||'-'||TYPE
FROM EMP WHERE TYPE IS NOT NULL
ORDER BY TYPE


#5 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 09:16 AM

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

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

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

صورة

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

#6 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 10:52 AM

الموضوع بكل اختصار اريد عرض تفاصيل جملة ال group by .

#7 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 11:28 AM

????????????????????????????

#8 elmousa68

elmousa68

    عضو

  • الأعضــاء
  • 26 مشاركة

تاريخ المشاركة 31 January 2010 - 11:33 AM

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

اخواني انا لا اريد استخدام تعبير 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 تؤدي المطلوب.

مع الاحترام
"وإذ قلنا للملائكة اسجدوا لآدم فسجدوا إلا إبليس كان من الجن ففسق عن أمر ربه أفتتخذونه وذريته أولياء من دوني وهم لكم عدو بئس للظالمين بدلا" الكهف

#9 المقنع2005

المقنع2005

    عضو نشط

  • الأعضــاء
  • 460 مشاركة

تاريخ المشاركة 31 January 2010 - 12:09 PM

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

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

#10 أحمد جادو

أحمد جادو

    عضو نشط

  • الأعضــاء
  • 244 مشاركة
  • الاسم الأول:أحمد
  • اسم العائلة:جادو
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle Developer @ Alhasa Municipality

تاريخ المشاركة 31 January 2010 - 01:07 PM

أخي الكريم (المقنع) راجع هذه المشاركة:
http://www.araboug.o...topic=39857&hl=


- أحمد جادو -
Senior Oracle Developer
Alhasa
Municipality

Alhasa - Saudi Arabia