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

ما خطاء هذا الكودان ؟


hanyfreedom

Recommended Posts

أرجو الأفادة .... لماذا هذا الكود خطاء؟

CREATE TABLE new_depts AS
SELECT d.department_id,d.department_name,
	sum(e.salary) dept_sal FROM employees e, departments d
WHERE e.department_id = d.department_id;



حيث أنه بعد ذلك يعطنى هذا الخطاء:-

ORA-00937: not a single-group group function



و أيضاً لماذا هذا الكود خطاء:-

CREATE VIEW emp_details AS
SELECT e.employee_id, e.last_name, e.salary,
	e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
GROUP BY d.department_id,d.department_name; 



حيث أنه يعطنى هذا الخطاء:-

ORA-00979: not a GROUP BY expression



أرجو أن يتم الرد فى أقرب وقت ...... وشكراً

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

السلام عليكم ورحمة الله

في الكود الأول استخدمت sum() function ولم تقوم بعمل group by

والكود الصحيح هو :

CREATE TABLE new_depts AS
SELECT d.department_id,d.department_name,
sum(e.salary) dept_sal
FROM hr.employees e, hr.departments d
WHERE e.department_id = d.department_id
group by d.department_id,d.department_name ;


والكود الثاني استخدمت group by ولكنك لم تستخدم aggregrate function

,والكود الصحيح هو :

CREATE VIEW emp_details AS
SELECT e.employee_id, e.last_name, e.salary,
e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id

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

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

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

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

×   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.

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

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

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