بتاريخ: 25 سبتمبر 200619 سنة comment_79353 السلام عليكم ...كنت عايز من اخواني شرح الاستعلام الاتي select count (*) tota,l sum(decode(to_shar(hire_date, 'yyyy') ,1995,1,0)) "1995" ولكم جزير الشكر تقديم بلاغ
بتاريخ: 26 سبتمبر 200619 سنة كاتب الموضوع comment_79456 السلام عليكم ورحمة الله .. رمضان كريم سؤال هو شرح .. select count (*) total sum(decode(to_char(hire_date, 'yyyy') ,1995,1,0)) "1995" طبعا هو ليه باقي بس النقطه اللي مش فاهمها هي decode ماهي وظيفتها في هذا المثال وشكرا,, تقديم بلاغ
بتاريخ: 26 سبتمبر 200619 سنة comment_79465 أخي الكريم كل عام وأنت بخيرالأمر DeCode هو أمر يستخدم في إنشاء شرط داخـل الإستعلام ، فيمكن توضيحةفي المثال التالي :لديك جدول يدعي Emp ، وهو خاص بجدول الموظف ، يحتوي علي الحقول الثلاثةالتالية :Enumber --> رقم الموظفEname --> إسم الموظفSex --> النـــوعيتم التخزين داخل حقل ال Sex قيمة واحدة إما حرف ( M ) لتمثيل قيمــة الذكر أو حرف ( F ) لتمثيل قيمة الأنثي.المطلوب إنشاء إستعلام لعرض كافة الموظفين بحيث إجراء ضبط لحقل ال Sexبحيث أن يعرض قيمة ذكر أو أنثي :الإجابة :--------- Select Enumber,Ename,DeCode(Sex,'M','ذكـر','F','انثي') As Esex From Emp تقديم بلاغ
بتاريخ: 26 سبتمبر 200619 سنة كاتب الموضوع comment_79475 جزاك الله خيرا وجعله ان شاء الله في ميزان حسناتك تقديم بلاغ
بتاريخ: 4 أكتوبر 200619 سنة comment_80088 أولا شرح الدالة sum تقوم بجمع مجموعة من الأعداد الموجودة في أحد الاعمدة وذلك بتخزين القيمة الموجودة في الصف الأول ومن ثم إضافة القيمة الموجودة في الصف الثاني إلى القيمة السابقة وهكذا ثانيا شرح الدالة decodeتقوم باختبار قيم موجودة في عمود ما إذا كانت القيمة مساوية للقيمة التي سوف تختبرها تعيد القيمة 1إذا كانت القيمة غير مساوية للقيمة التي سوف تختبرها تعيد القيمة 2 Decode(ColumnName , ConditionValue, ReturnValue1,ReturnValue2) مثالإذا اردنا ان نظهر عمود يوضح إذا كان اسم الموظف هو sameأم لا نقوم بكتابة التالي: Decode (ename,'same','yes','no') سوف يقرا كل سطر ويعيد ناتج الاختبار اذا كان اسم الموظف sameسيعيد yesوإلا سيعيد noأما بالنسبة للمثال الذي تريد شرحه فهو يحتوي على ثلاث دوال متداخلة يتم تنفيذها من الداخل إلى الخارجTo_charDecodeSumفي الدالة الأولى سيقوم بتحويل تاريخ التحاق الموظف على هيئة yyyyوناتج هذه الدالة مثلا كالتالي:1995,1994,1989,1995,1995,1990ومن ثم يتم اختبار كل تاريخ من التواريخ الناتجة عن الدالة الاولى عن طريق الدالة الثانية بحيثإذا كان التاريخ يساوي 1995يعيد الرقم 1وإلا سوف يعيد الرقم 0وبالتالي ناتج الدالة decode من المثال السابق سوف يكون1,0,0,1,1,0ومن ثم يتم جمع هذه الصفوف عن طريق الدالة الثالثة decodeفيظهر الناتج التالي 3أتمنى من الله العلي القدير أن أكون قد وضحت ما كنت تحتاج إليه راجيا من الله ان يوفقك وإيانا أجمعين تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.