الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيف ممكن اعمل مجاميع لكل صنف في جملة واحدة ؟

Featured Replies

بتاريخ:

إخواني ارجو مساعدتي في هذا الموضع هل هناك طريقة لعمل التالي :

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



كيف ممكن اعمل مجاميع لكل صنف في جملة واحدة ؟ هل ممكن

بتاريخ:

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;



شكراً

بتاريخ:

ايه يا جماعة كمية الأكواد دى؟!!!
الأخ العزيز...الكود هاتكتبه كده و دى أحسن و أسرع طريقة

select sum(qui),stock
from table_name where stock in ('0','1','2','3','4','5','6','7')
group by stock

بتاريخ:
ايه يا جماعة كمية الأكواد دى؟!!!
الأخ العزيز...الكود هاتكتبه كده و دى أحسن و أسرع طريقة


ياراجل حرام عليك ،

الأخ سؤالة واضح ، كل ما هو يحتاجة هو جلب مجاميع Sum للحقل qui بحيث أن يتم عرضة في سطر واحد ، ومعرفة مجاميع كل stock علي حدة !!!

أما الطريقة التي تفضلت بإدراجها سيقوم بإرتجاع حقل واحد ناتج مجاميع كافة الـ stocks ، وهذا ليس هو المطلوب ( وأنا أعتقد ذلك من سؤالة ) .

لكن أخي ، مثالي أيضاً مقيد بعض الشيء ، بمعني أنه سيتم عرض رقم 1، 2، 3، 4، .... الي آخرة وذلك حسب العدد المقيد ، ولكن إذا كنا نرغب في بناء جملة Dynamic في هذه الحالة هناك كود أكبر من ذلك .

علي العموم أنا أحببت أوضح لا أكثر ولا أقل

شكراً
بتاريخ:
  • كاتب الموضوع

مشكورين يا إخوان لكم جزيل الشكر وبارك الله فيك

من خلال تصفحي وجدت طريقه أخرى تشبه طريقة الأخ 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_else
FROM transactions


بتاريخ:

الأفكار لو جمعناها سنلاحظ أن الأساس واحد ، لكن أخي إسمحلي ، لو فرضنا أن الحقل stock تحتوي علي العديد من الأرقام ( 1، 2، 3، ..... الي آخرة ) علي أساس أن هذا الحقل يكون FK من جدول آخر . ولكننا للأسف لا نعلم ما هي النهاية !!!

في هذه الحالة لا يجوز إستخدام الطريقة السابقة مباشرتاً ، بل يجب إرتجاع أكثر من عمود بنائاً علي عدد السجلات الموجودة بالجدول PK .

علي العموم ، الأفكار أساسها واحد

شكراً

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.