بتاريخ: 27 فبراير 200818 سنة comment_123471 إخواني ارجو مساعدتي في هذا الموضع هل هناك طريقة لعمل التالي : select sum(qui) where stock = '0' sum(qui) where stock = '1' sum(qui) where stock = '2' sum(qui) where stock = '3' sum(qui) where stock = '4' sum(qui) where stock = '5' sum(qui) where stock = '6' sum(qui) where stock = '7' from transaction كيف ممكن اعمل مجاميع لكل صنف في جملة واحدة ؟ هل ممكن تقديم بلاغ
بتاريخ: 27 فبراير 200818 سنة comment_123478 Select (Select Sum(Qui) From transaction Where Stock = '1') As Sum_Stock1, (Select Sum(Qui) From transaction Where Stock = '2') As Sum_Stock2, (Select Sum(Qui) From transaction Where Stock = '3') As Sum_Stock3, (Select Sum(Qui) From transaction Where Stock = '4') As Sum_Stock4 From Tab Where RowNum = 1; / لكنها غير جيدة ، فمن المفضل إجراء Function وترسل له رقم الـ Stock ويقوم بإجراء عملية الجمع ، أنظر : Create Or Replace Function Sum_Stock(IN_Stock VarChar2) Return Number As ID_Sum Number; Begin Select Sum(Qui) Into ID_Sum From transaction Where Stock = IN_Stock; Return ID_Sum; End; / وطريقة إستدعائها كما يلي : Select Stock_Sum('1') As Stock_Sum1, Stock_Sum('2') As Stock_Sum2, Stock_Sum('3') As Stock_Sum3, Stock_Sum('4') As Stock_Sum4 From Tab Where RowNum = 1; شكراً تقديم بلاغ
بتاريخ: 28 فبراير 200818 سنة comment_123531 ايه يا جماعة كمية الأكواد دى؟!!!الأخ العزيز...الكود هاتكتبه كده و دى أحسن و أسرع طريقة select sum(qui),stock from table_name where stock in ('0','1','2','3','4','5','6','7') group by stock تقديم بلاغ
بتاريخ: 28 فبراير 200818 سنة comment_123587 ايه يا جماعة كمية الأكواد دى؟!!!الأخ العزيز...الكود هاتكتبه كده و دى أحسن و أسرع طريقة ياراجل حرام عليك ،الأخ سؤالة واضح ، كل ما هو يحتاجة هو جلب مجاميع Sum للحقل qui بحيث أن يتم عرضة في سطر واحد ، ومعرفة مجاميع كل stock علي حدة !!!أما الطريقة التي تفضلت بإدراجها سيقوم بإرتجاع حقل واحد ناتج مجاميع كافة الـ stocks ، وهذا ليس هو المطلوب ( وأنا أعتقد ذلك من سؤالة ) .لكن أخي ، مثالي أيضاً مقيد بعض الشيء ، بمعني أنه سيتم عرض رقم 1، 2، 3، 4، .... الي آخرة وذلك حسب العدد المقيد ، ولكن إذا كنا نرغب في بناء جملة Dynamic في هذه الحالة هناك كود أكبر من ذلك .علي العموم أنا أحببت أوضح لا أكثر ولا أقلشكراً تقديم بلاغ
بتاريخ: 2 مارس 200818 سنة كاتب الموضوع comment_123724 مشكورين يا إخوان لكم جزيل الشكر وبارك الله فيك من خلال تصفحي وجدت طريقه أخرى تشبه طريقة الأخ MMAوهي : SELECT SUM ( DECODE ( stock, 0, qui, 0 ) ) stock_0,SUM ( DECODE ( stock, 1, qui, 0 ) ) stock_1,SUM ( DECODE ( stock, 2, qui, 0 ) ) stock_2,SUM ( DECODE ( stock, 3, qui, 0 ) ) stock_3,...........SUM ( DECODE ( stock, 3, 0, qui ) ) stock_elseFROM transactions تقديم بلاغ
بتاريخ: 3 مارس 200818 سنة comment_123799 الأفكار لو جمعناها سنلاحظ أن الأساس واحد ، لكن أخي إسمحلي ، لو فرضنا أن الحقل stock تحتوي علي العديد من الأرقام ( 1، 2، 3، ..... الي آخرة ) علي أساس أن هذا الحقل يكون FK من جدول آخر . ولكننا للأسف لا نعلم ما هي النهاية !!!في هذه الحالة لا يجوز إستخدام الطريقة السابقة مباشرتاً ، بل يجب إرتجاع أكثر من عمود بنائاً علي عدد السجلات الموجودة بالجدول PK .علي العموم ، الأفكار أساسها واحدشكراً تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.