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

استعلام يظهر الدرجات المختلفة فقط


a5hhk

Recommended Posts

عندي هذه البايانات في جدول واحد وأريد استرجاع رقم الطالب واسم الطالب المادة والنتيجة
فقط اذا كان هناك إختلاف في درجات الطالب
بحيث لو حصل على درجات متشابهة في كل المواد لايظهر في النتيجة
فقط يظهر اذا كانت نتائج الطالب غير متشابهة
964580 ics 28.20
964580 mis 28.20
964580 math 28.20
964520 ics 24.96
964520 mis 26.00
964520 math 24.96
961243 ics 29.88
961243 mis 29.88
961243 math 29.88
988747 ics 23.00
988747 mis 25.00
988747 math 25.00
921014 ics 30.05
921014 mis 30.05
921014 math 30.05

فتكون النتيجة
964520 ics 24.96
964520 mis 26.00
964520 math 24.96


988747 ics 23.00
988747 mis 25.00
988747 math 25.00

الرجاء المساعة يا شباب

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

السلام عليكم

نفذ الجمل الاتية وإن شاء الله تكون النتيجة التى تريدها

create table stud_grad
( stud_no number(7),
 sub_name varchar(50),
 grad number(4,2)
);

insert into stud_grad
values(1,'math',20.3);

insert into stud_grad
values(1,'cs',20.3);

insert into stud_grad
values(1,'mis',20.3);


insert into stud_grad
values(2,'math',21.3);

insert into stud_grad
values(2,'cs',30.3);

insert into stud_grad
values(2,'mis',50.3);


insert into stud_grad
values(3,'math',81.3);

insert into stud_grad
values(3,'cs',37.3);

insert into stud_grad
values(3,'mis',53.3);


insert into stud_grad
values(4,'math',7.3);

insert into stud_grad
values(4,'cs',7.3);

insert into stud_grad
values(4,'mis',7.3);

select distinct math_grad.stud_no,math_grad.sub_name,math_grad.grad
from stud_grad math_grad,stud_grad cs_grad,stud_grad mis_grad
where
     math_grad.stud_no =cs_grad.stud_no
   and
     cs_grad.stud_no =mis_grad.stud_no
   and
     lower(math_grad.sub_name)<> lower(cs_grad.sub_name)
   and
     lower(cs_grad.sub_name)<>lower(mis_grad.sub_name)
   and
     lower(math_grad.sub_name)<>lower(mis_grad.sub_name)
   and
    math_grad.grad<>cs_grad.grad
   and
   math_grad.grad<>mis_grad.grad
   and
   mis_grad.grad<>cs_grad.grad
   





عموما الطريقة دى كانت على السريع
================
بس انا شايف انها مش عملية

لان بالنظام ده كل ماده هنعمل ليها table alise
وايضا هنزود فى الشروط
================
ان شاء الله نفكر مع بعض فى طريقة اخرى احسن

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

السلام عليكم, الحل الذي قدمه الاخ LLORD صحيح لان السائل طلب استعلام من نوع دقيق جدا ونستخدم فيه شرط AND بكثرة حتى نتمكن من الحصول على الاجابة الصحيحة. قد نستطيع استخدام LOOP مع RECORD او صيغة WITH التي تساعدنا على تجنب التكرار الممل في الاستعلام.

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

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

الحل التالى هو بناء على الجدول الذى صممه الاخ llord

select S.STUD_NO, s.SUB_NAME , s.GRAD
from STUD_GRAD S , (select distinct d.STUD_NO,d.GRAD,count(d.GRAD)
from STUD_GRAD d
group by d.STUD_NO,d.GRAD
having count(d.GRAD) =1 ) s2
where s.STUD_NO = s2.stud_no
and s.GRAD = s2.grad

على ما اعتقد بالنظام ده كل ماده مش لازم نعمل ليها table alise
ارجو الرد اذا كان ذلك هو الحل المراد

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

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

لا شكر على واجب اخى LLORD هذا واجنا اتجاه موقعنا الجميل و رد جزء من جميله علينا و ان كانت لي بعض النقاط التى اود مناقشتها وطرحها على المسؤلين عن الموقع كل هذا من دافع حبى لهذا المكان

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

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

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

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

×   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.

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

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

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