awn78 بتاريخ: 28 أبريل 2007 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2007 اخواني الاعزاء السلام عليكم ورحمة الله وبركاتهارجوا ان تشرحوا لي معنى هذه الجمله بالتفصيل 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وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
magedomran بتاريخ: 28 أبريل 2007 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2007 فى هذا السؤال يريد ان يعرض عدد الموظفين الذين تم تعينهم فى سنة 1995 والذين تم تعينهم فى سنة 1996 والذين فى 1997 واخيرا 1998وبالتالى كان هذا الكود هو الصحيح لعرض هذة النتائج ومعناهاننا اولا سنعرض عدد جميع الموظفين الذين تم تعينهم فى الشركة ونسمى هذا العمود totalثانيا لفهم هذا الكود قم بقراءة الكود من الداخل الى الخارج وتفسيرةاولا يقوم بتحويل ال hire_date الى السنة فقط ثانيا اذا كان هذا التاريخ الذى تم تحويلة الى سنة فقط 1995 قم باضافة رقم واحد واذا لم يكن 1995 قم باضافة 0 ثم قم بتجميع جميع القيم المكتوبة 1+0+1+ الخوبالتالى يكون هذا مجموع عدد الموظفين الذين تم تعينهم فى سنة 1995 وقم بتسمية هذا العمود 1995وبالمثل سنة 1996 والباقين طبعا بنفس الطريقة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 28 أبريل 2007 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2007 أخى العزيز 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و هنا لو بصنا لمعنى الكود العام فده معناه اننا بنشوف كام موظف أتعين فى كل سنة على حده ....... وطبعاً فى اول عمود احنا بنجيب عدد كل الموظفيين و دى أعتقد انها سهلة .انا هحاول اشوفلك على النت أمثلة ذى كده و هبقى احطهالك فى الصفحة دى ...... لو لاقيت .و أرجو ان يكون شرحى سهل و قدرت تفهمه ........ وبالتوفيق أن شاء الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 28 أبريل 2007 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2007 مشاركة سابقه بالمنتدى .. فى نفس السؤال matrix query من هنا أو من هنا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.