بتاريخ: 17 نوفمبر 201213 سنة comment_229209 السلام عليكم ورحمة الله وبركاتهاخواني الكرامأنا عندي استعلام يحسب لكل صنف إجمالي عدد الأيام منذ بداية بيعه إلى الآن إجمالي عدد الأيام التي كانت فيها الكمية للصنف تساوي صفر منذ بداية بيعه إلى الآن وعند تطبيق الاستعلام بعد تحديد صنف معين يعمل بشكل صحيحاما عند عدم تحديد صنف معين (اي استعلام على كل الأصناف) يعمل ولكن بشكل غير صحيح (اي النتائج تكون غير صحيحة لكل الأصناف مقارنة بالاستعلام لكل صنف على حده)وهذا هو الكود المستخدم:1. الكود للاستعلام عن صنف واحد (يعمل بشكل صحيح) Select code , all_days , qty_zero_days From (Select sales_d.code , (to_date(sysdate)+1)-min(sdate) as all_days , nvl(max(qty_zero_days),0) as qty_zero_days From ( sales_d join (select code, sum(nvl((select min(sdate) sdate from sales_d where code='55155032' and eqty!=0 and sdate>s.sdate),to_date(sysdate)+1)-s.sdate) as qty_zero_days from sales_d s where code='55155032' and eqty=0 group by code) qz on qz.code = sales_d.code ) Where sales_d.code='55155032' Group by sales_d.code) يعرض CODE ALL_DAYS QTY_ZERO_DAYS -------------------- ---------------------- ---------------------- 55155032 17 6 2. الكود للاستعلام عن كل الأصناف معاً (يرجع نتائج غير صحيحة) Select code , all_days , qty_zero_days From (Select sales_d.code , (to_date(sysdate)+1)-min(sdate) as all_days , nvl(max(qty_zero_days),0) as qty_zero_days From ( sales_d join (select code, sum(nvl((select min(sdate) sdate from sales_d where code=_code and eqty!=0 and sdate>s.sdate),to_date(sysdate)+1)-s.sdate) as qty_zero_days from sales_d s where code=_code and eqty=0 group by code) qz on qz.code = sales_d.code ) Where sales_d.code=_code Group by sales_d.code) يعرض CODE ALL_DAYS QTY_ZERO_DAYS -------------------- ---------------------- ---------------------- 55155032 17 5 11020011 17 2 10234011 15 7 كما تلاحظون النتائج في الاستعلام الثاني تختلف عن الاستعلام الأول في الجزء الخاص بحساب عدد الأيام التي فيها الكمية تساوي صفرأرجو المساعدة في الاستعلام الثاني ليعرض نتائج صحيحةاسف للإطالة واسف للخطأ في كتابة عنوان الموضوعانتظر ردود كل من لديه فكرة وشكراً تم تعديل 17 نوفمبر 201213 سنة بواسطة az123 تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.