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

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

صورة
- - - - -

سؤال بخصو ال Decode


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

#1 awn78

awn78

    عضو نشط

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

تاريخ المشاركة 28 April 2007 - 11:47 PM

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

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

ارجوا ان تشرحوا لي معنى هذه الجمله بالتفصيل
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

وشكرا
صورة

#2 magedomran

magedomran

    مشترك

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

تاريخ المشاركة 29 April 2007 - 01:51 AM

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

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

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

احبتى الكرام هل لى ان اطلب منكم العون والمدد فى ان تساعدونى لان نبنى امه اسلاميه قويه عزيزه بدينها الاسلام هل لى ان اطلب ان نعين بعضنا فى ان نرضى الله ورسوله وان نتعاون على البر والتقوى كى نصل لمرضاه الله ونفوز بجنته


وفقكم الله لما فيه خير امتنا

Magedomran@hotmail.com

My 4shared


#3 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 29 April 2007 - 02:12 AM

أخى العزيز 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

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

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


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

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


#4 Amgad

Amgad

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

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

تاريخ المشاركة 29 April 2007 - 02:53 AM

مشاركة سابقه بالمنتدى .. فى نفس السؤال matrix query

من هنا

أو من هنا

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


....