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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كيف يمكن عمل هذه ال query


3 رد (ردود) على هذا الموضوع

#1 Casper

Casper

    مشترك

  • الأعضــاء
  • 184 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 07 October 2006 - 10:52 PM

EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)

بفرض أننا نريد عرض empno,ename,sal,avg(sal)for all empolyees
بحيث يكون sal>avg(sal)for his department
الذكرى ماضى و الماضى شىء جميل
فإذكرنى بقلب راضى فالرضا من طبع الأصيل

#2 أبوسلمان

أبوسلمان

    عضو

  • الأعضــاء
  • 10 مشاركة

تاريخ المشاركة 08 October 2006 - 10:55 AM

أرجو أن يحقق هذا الكود مرادك و الله المستعان

SELECT a.empno,a.ename,a.sal,a.deptno,b.avgsal
FROM emp a , (SELECT deptno , AVG(sal) avgsal FROM emp GROUP BY deptno) b
WHERE a.deptno = b.deptno
AND a.sal = b.avgsal


#3 Casper

Casper

    مشترك

  • الأعضــاء
  • 184 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 October 2006 - 12:55 PM

جزاك الله كل خير
الذكرى ماضى و الماضى شىء جميل
فإذكرنى بقلب راضى فالرضا من طبع الأصيل

#4 MoHaNnEd

MoHaNnEd

    عضو

  • الأعضــاء
  • 45 مشاركة

تاريخ المشاركة 17 October 2006 - 10:03 AM

بحيث يكون sal>avg(sal)for his department


SELECT a.empno,a.ename,a.sal,b.avgsal
FROM emp a join (SELECT deptno , AVG(sal) avgsal FROM emp GROUP BY deptno) b
ON (a.deptno = b.deptno AND a.sal > b.avgsal)