الانتقال إلى المحتوى

من عنده حل لمشكلة Group By


RTL

Recommended Posts

السلام عليكم جميعا

انا استخدم اوراكل 10G
وعملت بروسيجر تحوي GROUP BY
قام ببناء البروسيجر بشكل صحيح
لكن عندما استدعيها واناديها
يظهر لي اخطاء تخص الجروب باي

وسمعت ان النسخة التي اعمل عليها لاتدعم الجروب باي
فهل هذا صحيح؟؟؟؟؟؟؟؟؟؟؟؟
ومالحل

رابط هذا التعليق
شارك

CREATE OR REPLACE PROCEDURE proc1
AS v_ename CHAR(20);
  v_salary NUMBER(10,0);
BEGIN SELECT ename,
         salary
    INTO v_ename, v_salary
    FROM emp WHERE salary > 100000
    GROUP BY deptno;
END;

رابط هذا التعليق
شارك

السلام عليكم
-----------------------------
حتى يتم استخدام Group by لابد من استخدام Aggregate functions
مثل sum , max , min , count ...........
مثال
------------------------------------

FOR REC IN ( SELECT DEPTNO,MAX(SALARY)
               FROM EMP WHERE SALARY > 100000
               GROUP BY DEPTNO
               ) 
LOOP
---  STATMENT 
END LOOP;

رابط هذا التعليق
شارك

شكرا لك يااخي عندي علم بهذا الامر انا مستخدمه count
لكن المشكلة ان الاوراكل يقبل البروسيجر وينشئها
وعندما اقوم بندائها يظهر لي خطأ عند الجروب باي
وبحثت عن سببه ولكن دون جدوى

رابط هذا التعليق
شارك

ال group by يجب ان تكون مع group function like sum ,count,...etc... ويجب ان يكون كل كولم موجود بال select ومو موجود بال function group يجيب ان يكون بال group by

ex:


select max(salary),emp_name,emp_no
from employee
group by emp_name,emp_no

واذا استخدمت ال function group بال conditions يجيب ان يكون هناك having




شكرا لكم

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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