بتاريخ: 8 أكتوبر 200520 سنة comment_49051 السلام عليكم...عندي سؤال في كتاب خاص بالداتا بيسيس و هو كالتالي:افرض أنه يوجد لديك جدول كالتالي:Name MonthSalary Salary---------------------------------------------------------------------------- 5000 Luis JAN 7500 Luis FEB 7700 Luis MAR 5000 Jose JAN 5010 Jose FEB 4000 Manuel MARو نريد الـ output كالتالي:name JAN FEB MAR-------------------------------LUIS 5000 7500 7700JOSE 5000 5010 0 MANUEL 0 0 4000و شكراً مقدماً تقديم بلاغ
بتاريخ: 14 أكتوبر 200520 سنة comment_49473 ارجوا الايضاح الاخ LuisFigoففي جدول ال output اري اسماء لاشهر في اسم العمود والتي هي اساساً عباره عن مدخلات في الجدول الاول في column ال monthsalaryمن فضلك وضح اكثر تقديم بلاغ
بتاريخ: 16 أكتوبر 200520 سنة كاتب الموضوع comment_49648 ارجوا الايضاح الاخ LuisFigoففي جدول ال output اري اسماء لاشهر في اسم العمود والتي هي اساساً عباره عن مدخلات في الجدول الاول في column ال monthsalaryمن فضلك وضح اكثر49473[/snapback] نعم هو كما فهمت أنتالسؤال كالتاليعندنا الجدول التاليو نريد المخرجات كالتالي تقديم بلاغ
بتاريخ: 17 أكتوبر 200520 سنة comment_49656 يمكنك استخدام هذه الطريقه لانشاء matrix select name , sum(decode (mon_sal, 'jan' , salary )) "JAN" , sum(decode(mon_sal, 'feb', salary )) "FEB" , SUM(salary) "TOTAL" from testemp group by name NAME JAN FEB TOTAL -------------------- ---------- ---------- ---------- ahmed 1000 1500 2500 ali 2000 2300 4300 تقديم بلاغ
بتاريخ: 19 أكتوبر 200520 سنة comment_49782 السلام عليكم ورحمة الله وبركاتهمشكورين جميعا على المشاركة في حل هذه المسالةانا حاولت مسبقاً بمثل هذه التجربة وتطلع مكررة جداً اي الاسماء كلهاولكن عدلت في المسالة بالاعلى ولم اجد حل ولكن قد اعطي مفتاحا بحلي وانا لي اكثر من يوم وانا احاول وان شاء الله نشوف حل جميعاًالتعديل :SQL> select name , NVL(decode (mon_sal, 'JAN' , salary ),0) "JAN" , 2 NVL(decode (mon_sal, 'FEB' , salary ),0) "FEB", 3 NVL(decode (mon_sal, 'MAR' , salary ),0) "MAR" 4 from employee;الناتج:----------------------------------------------------------------------------------------NAME JAN FEB MAR--------- -------- -------- -------JOHN 8000 0 0 JOHN 0 10000 0 JOHN 0 0 10000LUIS 10000 0 0LUIS 0 0 10000 JOSE 9000 0 0JOSE 0 0 10000----------------------------------------------------------------------------------------المشكلة في التكرار والمطلوب تداخل الاسماء كذلك اي لدي اكثر من اسم مكرر ولكن الراتب الشهري في مختلفليصبح لدي JOH 8000 10000 0JOSE 9000 0 10000LUIS 10000 0 10000والمجموعة لا تجدي نفعاً ..... ((GROUP BY))ارجو اني وضحت وكذلك ننتظر الحل بفارغ الصبر حيث ان الامر في مصلحة الجميعوشكراً مجدداًالتاج XYX تقديم بلاغ
بتاريخ: 19 أكتوبر 200520 سنة comment_49805 الاخ الكريمحل الاخ AMGAD صحيح 100% ولا يوجد غبار عليه لأنك تقوم بتجميع قيم الاشهر على شكل صف ولتفادي التكرار يجب ان يتضمن الحل جميع الاشهر واعتقد ان الاخ AMGAD اعطى مثال على الحلواعتقد انه من القليلين الذين يعطون الاجابة الصحيحة في المكان الصحيح تقديم بلاغ
بتاريخ: 20 أكتوبر 200520 سنة comment_49847 مشكور على التصحيح وبارك الله فيكموان شاء الله اخونا LuisFigo يستفيد من الحلالتاجxyx تقديم بلاغ
بتاريخ: 20 أكتوبر 200520 سنة كاتب الموضوع comment_49915 مشكورين و إن شاء الله أجرب و أرد عليكم تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.