a5hhk بتاريخ: 23 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 23 أبريل 2006 (معدل) عندي هذه البايانات في جدول واحد وأريد استرجاع رقم الطالب واسم الطالب المادة والنتيجة فقط اذا كان هناك إختلاف في درجات الطالب بحيث لو حصل على درجات متشابهة في كل المواد لايظهر في النتيجة فقط يظهر اذا كانت نتائج الطالب غير متشابهة964580 ics 28.20964580 mis 28.20964580 math 28.20964520 ics 24.96964520 mis 26.00964520 math 24.96961243 ics 29.88961243 mis 29.88961243 math 29.88988747 ics 23.00988747 mis 25.00988747 math 25.00921014 ics 30.05921014 mis 30.05921014 math 30.05فتكون النتيجة964520 ics 24.96964520 mis 26.00964520 math 24.96988747 ics 23.00988747 mis 25.00988747 math 25.00الرجاء المساعة يا شباب تم تعديل 23 أبريل 2006 بواسطة a5hhk اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أسامة موسى بتاريخ: 23 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 23 أبريل 2006 http://www.araboug.org/ib/index.php?showtopic=5587 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
llord بتاريخ: 23 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 23 أبريل 2006 السلام عليكمنفذ الجمل الاتية وإن شاء الله تكون النتيجة التى تريدها 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 وايضا هنزود فى الشروط================ان شاء الله نفكر مع بعض فى طريقة اخرى احسن اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ABUSANAD بتاريخ: 23 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 23 أبريل 2006 السلام عليكم, الحل الذي قدمه الاخ LLORD صحيح لان السائل طلب استعلام من نوع دقيق جدا ونستخدم فيه شرط AND بكثرة حتى نتمكن من الحصول على الاجابة الصحيحة. قد نستطيع استخدام LOOP مع RECORD او صيغة WITH التي تساعدنا على تجنب التكرار الممل في الاستعلام. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
a5hhk بتاريخ: 24 أبريل 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 أبريل 2006 شكرا جزيلا لكم على هذه الحلول الرائعة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
reemy بتاريخ: 24 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 24 أبريل 2006 السلام عليكم و رحمة الله و بركانه الحل التالى هو بناء على الجدول الذى صممه الاخ llord select S.STUD_NO, s.SUB_NAME , s.GRADfrom 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 ) s2where s.STUD_NO = s2.stud_no and s.GRAD = s2.gradعلى ما اعتقد بالنظام ده كل ماده مش لازم نعمل ليها table alise ارجو الرد اذا كان ذلك هو الحل المراد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
llord بتاريخ: 24 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 24 أبريل 2006 السلام عليكمشكراً لك اخى reemy============ودائما معنا بحلولك المتميزة============ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
reemy بتاريخ: 25 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 25 أبريل 2006 السلام عليكم و رحمة الله و بركاته لا شكر على واجب اخى LLORD هذا واجنا اتجاه موقعنا الجميل و رد جزء من جميله علينا و ان كانت لي بعض النقاط التى اود مناقشتها وطرحها على المسؤلين عن الموقع كل هذا من دافع حبى لهذا المكان اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.