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

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

صورة
- - - - -

طلب مساعده في استعلام Decode


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

#1 علوي2011

علوي2011

    عضو

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

تاريخ المشاركة 27 December 2010 - 01:53 PM

كيف اسوي استعلام بالداله decode تظهر لي اسم الطالب والمعدل المئوي والتقدير من جدول الطلاب student
90الى 100 ممتاز
80الى 89 جيد جدا
70 الى 79 جيد
50 الى 69 مقبول
الرجا المساعده

تم التعديل بواسطة علوي2011, 27 December 2010 - 01:54 PM.


#2 O.R.A.C.L.E

O.R.A.C.L.E

    عضو

  • الأعضــاء
  • 34 مشاركة
  • الاسم الأول:Yousef
  • اسم العائلة:.
  • البـلـد: Country Flag

تاريخ المشاركة 28 December 2010 - 12:28 AM

الاخ الكريم علوى
السلام عليكم
انا لا اعلم اخى الفاضل الهدف من اجراء ال Query دى بال Decode تحديدا لكن على اية حال جرب الكود دا


SELECT student_name ,
  pct ,
  NVL(TO_CHAR(DECODE(pct,'','')),'ممتاز') "Grade"
FROM students
WHERE pct BETWEEN 90 AND 100

UNION

SELECT student_name ,
  pct ,
  NVL(TO_CHAR(DECODE(pct,'','')),'جيد جدا')
FROM students
WHERE pct BETWEEN 80 AND 89

UNION

SELECT student_name ,
  pct ,
  NVL(TO_CHAR(DECODE(pct,'','')),'جيد')
FROM students
WHERE pct BETWEEN 70 AND 79

UNION

SELECT student_name ,
  pct ,
  NVL(TO_CHAR(DECODE(pct,'','')),'مقبول')
FROM students
WHERE pct BETWEEN 50 AND 69

وفى رائى اعتقد انك لو عملتها بال Case يكون افضل


SELECT student_name ,
  pct ,
  CASE
    WHEN pct > 89
    AND pct <= 100
    THEN 'ممتاز'
    WHEN pct > 79
    AND pct <= 89
    THEN 'جيد جدا'
    WHEN pct > 69
    AND pct <= 79
    THEN 'جيد'
    WHEN pct > 49
    AND pct <= 69
    THEN 'مقبول'
    ELSE 'ضعيف'
  END "Grade"
FROM students

تحياتى


tvquran_26.gif