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

سؤال بخصو ال Decode


awn78

Recommended Posts

اخواني الاعزاء

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

ارجوا ان تشرحوا لي معنى هذه الجمله بالتفصيل

select count ( * ) total , sum(decode(to_char(hire_date,'yyyy'),1995,1,0)) "1995" , 
sum(decode(to_char(hire_date,'yyyy'),1996,1,0)) "1996" ,
sum(decode(to_char(hire_date,'yyyy'),1997,1,0)) "1997" ,
sum(decode(to_char(hire_date,'yyyy'),1998,1,0)) "1998" ;


وارجوا لو تعطوني امثله اضافيه عن ال decode

وشكرا

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

فى هذا السؤال يريد ان يعرض عدد الموظفين الذين تم تعينهم فى سنة 1995 والذين تم تعينهم فى سنة 1996 والذين فى 1997 واخيرا 1998
وبالتالى كان هذا الكود هو الصحيح لعرض هذة النتائج ومعناه
اننا اولا سنعرض عدد جميع الموظفين الذين تم تعينهم فى الشركة ونسمى هذا العمود total

ثانيا لفهم هذا الكود قم بقراءة الكود من الداخل الى الخارج وتفسيرة
اولا يقوم بتحويل ال hire_date الى السنة فقط
ثانيا اذا كان هذا التاريخ الذى تم تحويلة الى سنة فقط 1995 قم باضافة رقم واحد
واذا لم يكن 1995 قم باضافة 0 ثم قم بتجميع جميع القيم المكتوبة 1+0+1+ الخ
وبالتالى يكون هذا مجموع عدد الموظفين الذين تم تعينهم فى سنة 1995 وقم بتسمية هذا العمود 1995

وبالمثل سنة 1996 والباقين طبعا بنفس الطريقة

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

أخى العزيز awn78

أعتقد أنك ناقل هذا الكود بطريقة غير صحيحة دون أن تقصد ....... و الكود الصحيح هو :-



select count ( * ) total ,
sum(decode(to_char(hire_date,'yyyy'),1995,1,0)) "1995" ,
sum(decode(to_char(hire_date,'yyyy'),1996,1,0)) "1996" ,
sum(decode(to_char(hire_date,'yyyy'),1997,1,0)) "1997" ,
sum(decode(to_char(hire_date,'yyyy'),1998,1,0)) "1998"
from employees;



و هذا معناه انك بتجيب قسم السنة بس من ال hire_date من خلال ال

('to_char(hire_date,'yyyy

و بعد كده بتقول أذا كانت السنة دى مثلاً 1995 يبقى أحسبها بواحد واذا مكنتش 1995 يبقى
أحسبها بصفر و ده من خلال ال

(decode(to_char(hire_date,'yyyy'),1995,1,0

و بعد كده بتقول أجمع الوحايد - جمع كلمة واحد - اللى انت جبتها لكل تاريخ و اجمعه ، و ده من خلال ال

"sum(decode(to_char(hire_date,'yyyy'),1995,1,0)) "1995

و هنا لو بصنا لمعنى الكود العام فده معناه اننا بنشوف كام موظف أتعين فى كل سنة على حده

....... وطبعاً فى اول عمود احنا بنجيب عدد كل الموظفيين و دى أعتقد انها سهلة .

انا هحاول اشوفلك على النت أمثلة ذى كده و هبقى احطهالك فى الصفحة دى ...... لو لاقيت .

و أرجو ان يكون شرحى سهل و قدرت تفهمه ........ وبالتوفيق أن شاء الله

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

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

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

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

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

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

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

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