Abokamal_Elsafty بتاريخ: 26 مايو 2009 تقديم بلاغ مشاركة بتاريخ: 26 مايو 2009 السلام عليكم ورحمة الله وبركاتهالملف المرفق به توضيح الإستعلام المعقد المطلوبجزاكم الله خيرا My_query.doc My_query.doc My_query.doc اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
khaledmega بتاريخ: 28 مايو 2009 تقديم بلاغ مشاركة بتاريخ: 28 مايو 2009 (معدل) السلام عليكماذا كانت هذه النتيجة فى اخر الامر ستعرض على فورمة فيفضل استخدام PL/SQL وسيكون الحل اكثر تحكما منه عن SQLوشكراميجا تم تعديل 28 مايو 2009 بواسطة khaledmega اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبداللطيف بتاريخ: 28 مايو 2009 تقديم بلاغ مشاركة بتاريخ: 28 مايو 2009 راجع الرابط http://www.araboug.org/ib/index.php?showtopic=8745 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Abokamal_Elsafty بتاريخ: 1 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 يونيو 2009 جزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ORA-2008 بتاريخ: 2 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 2 يونيو 2009 (معدل) مرحباانا عملت جدول في البيانات اللي انت كاتبها بالأول وبعد هيك عملت الإستعلام؛ وكانت النتيجة زي مابدك انت بالزبط: ---table CREATE TABLE abc AS SELECT '24/5/2009' a,'x' b, -0.2 c FROM dual UNION SELECT '24/5/2009' ,'y' ,0.5 FROM dual UNION SELECT '24/5/2009' ,'z' ,0 FROM dual UNION SELECT '24/5/2009' ,'f' ,0 FROM dual UNION SELECT '24/5/2009' ,'g' ,-0.7 FROM dual UNION SELECT '25/5/2009' ,'x' ,0 FROM dual UNION SELECT '25/5/2009' ,'z' ,0.3 FROM dual UNION SELECT '25/5/2009', 'y' ,-0.3 FROM dual UNION SELECT '25/5/2009', 'g' ,0.5 FROM dual UNION SELECT '25/5/2009', 'f' ,0.3 FROM dual UNION SELECT '26/5/2009', 'y', 0.3 FROM dual UNION SELECT '26/5/2009', 'z', 0 FROM dual UNION SELECT '26/5/2009', 'x', 0 FROM dual --query SELECT a,count(n) nigative,count(z) no_change,count(p) positivenum, count(n)+count(z)+count(p) ALLn FROM (select a,b,c, CASE WHEN c <0 THEN 1 END n, CASE WHEN c =0 THEN 1 END z, CASE WHEN c >0 THEN 1 END p from abc) GROUP BY a مع امكانية تغيير اسماء الحقول... تم تعديل 2 يونيو 2009 بواسطة ORA-2008 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mahmoood بتاريخ: 8 أكتوبر 2009 تقديم بلاغ مشاركة بتاريخ: 8 أكتوبر 2009 هذا حل مباشر select dat, nvl((select count(*) from status where change>0 and status .dat=aa.dat group by dat),0) positive , nvl((select count(*) from status where change<0 and status .dat=aa.dat group by dat),0) negative ,nvl((select count(*) from status where change=0 and status .dat=aa.dat group by dat),0) zero ,nvl((select count(*) from status where status .dat=aa.dat group by dat),0) tot from status aa group by dat اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mahmoood بتاريخ: 8 أكتوبر 2009 تقديم بلاغ مشاركة بتاريخ: 8 أكتوبر 2009 هذا الحل افضل select dat,nvl((select count(*) from status where change>0 and status .dat=aa.dat ),0) positive , nvl((select count(*) from status where change<0 and status .dat=aa.dat ),0) negative ,nvl((select count(*) from status where change=0 and status .dat=aa.dat ),0) zero ,nvl((select count(*) from status where status .dat=aa.dat group by dat),0) tot from status aa group by dat / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.