بتاريخ: 17 مايو 200619 سنة comment_69520 al salam alekom i want the result to be as :salary_from salary_to count(emp)0 5 2000 1000 10 4500 2500how can i write the select statment that give me the count of employee that indepeneds on the range of salary for example if the salary start from 1000$ and finish to 3000$ the count i want the count of employee that have that range and thank you very much im sory for i typing bt english that is becouse the pc whi i use writenow dosnt have arabic language تقديم بلاغ
بتاريخ: 17 مايو 200619 سنة comment_69549 select count(empno),avg(sal) as range from emp where sal between 1000 and 3000; ايهاب وجدى و صموئيل ناجى تقديم بلاغ
بتاريخ: 18 مايو 200619 سنة كاتب الموضوع comment_69592 اخي العزيز انت لم تفهم قصدي اني اقصد ان تعمل جملة سيليكت بحيث اني اريد النتيجة على الشاشة وما تعملة هذة الجملة ان تحضر جميع الرينج يعني اكثر من مدى ليس فقط من 1000 الى 3000 ربما من 2000 الى 4000 عدد الموظفين يكون 10 وربما المدى من 5000 الى 10000 يكون عدد الموظفين 5 فقط ارجو ان تكون وصلت المعلومةالنتيجة على الشاشة تكون في هذا الشكل salarFrom salaryTo countEmployee 5 2000 1000 10 3000 2100 3 4000 3100ملاحظة : المدى لم اقصد به avgوانما مدى الرواتب يعني قيمة الراتب تم تعديل 18 مايو 200619 سنة بواسطة m_dba تقديم بلاغ
بتاريخ: 18 مايو 200619 سنة comment_69662 1- اذا كنت تريد ان تظهر النتيجه تظهر على الشاشه بسيطه declare cursor ew is select ename from emp where sal >1000; v_ename emp.ename%type; begin open ew; loop fetch ew; into v_ename; :ename:=v_ename; end loop; close ew; end; اما انى فهمت قصدك دى محتاجه منك شوية تعب ياريت لو انت عايزنى اسعدكايهاب وجدى تقديم بلاغ
بتاريخ: 18 مايو 200619 سنة comment_69675 الأخ / m_dbaهل المطلوب استرجاع اكثر من معلومه باستخدام امر واحد ؟؟اذا كان كذلك.. فالسؤال هوما هو المدي الذى تريد البحث من خلاله ..اى تحديد مجموعه البحث كل 1000 أو كل 2000 اذا اردت ان تبحث فى مجموعة ال 1000 .. فيكون المطلوب كالتالي من 1 الى 1000 العدد 4 مثلامن 1001 الى 2000 العدد 5 مثلا من 2001 الى 3000 العدد 10 مثلا من 3001 الى 4000 العدد 7 مثلا هل هذا هو المطلوب ؟؟-------------------------امالافتراض الثاني انك تريد تنفيذ امر واحد لاستخراج معلومه واحده المدى من 1000 الى 3000 العدد = 20 ثم تنفيذ امر آخر مستقلالمدى من 2500 الى 4000 العدد = 7الرجاء الاجابه .. لنتمكن من المساعده تقديم بلاغ
بتاريخ: 19 مايو 200619 سنة كاتب الموضوع comment_69685 المطلوب هو استرجاع اكثر من معلومة في امر واحد مثل المثال الاول الي انت كتبتو اعتبر اي مدي تريد المهم الكود وبارك الله فيك يا اخي وفي الجميع تقديم بلاغ
بتاريخ: 19 مايو 200619 سنة comment_69696 SQL> SELECT TRUNC(SAL/1000,0) , COUNT(*) FROM EMP GROUP BY TRUNC(SAL/1000,0); TRUNC(SAL/1000,0) COUNT(*) ----------------- ---------- 0 2 1 6 2 3 3 2 5 1 OR SQL> SELECT COUNT( DECODE (TRUNC(SAL/1000,0) ,0,1)) "SALES < 1000", 2 COUNT( DECODE (TRUNC(SAL/1000,0) ,1,1)) "FROM 1000 TO 2001", 3 COUNT( DECODE (TRUNC(SAL/1000,0) ,2,1)) "FROM 2000 TO 3001" , 4 COUNT( DECODE (TRUNC(SAL/1000,0) ,3,1)) "FROM 3000 TO 4001" , 5 COUNT( DECODE (TRUNC(SAL/1000,0) ,4,1)) "FROM 4000 TO 5001" , 6 COUNT( DECODE (TRUNC(SAL/1000,0) ,5,1)) "FROM 5000 TO 6001" , 7 COUNT(*) "TOTAL" 8 FROM EMP 9 GROUP BY TRUNC(SAL/1000,0) 10 / SALES < 1000 FROM 1000 TO 2001 FROM 2000 TO 3001 FROM 3000 TO 4001 FROM 4000 TO 5001 FROM 5000 TO 6001 TOTAL ------------ ----------------- ----------------- ----------------- ----------------- ----------------- ---------- 2 0 0 0 0 0 2 0 6 0 0 0 0 6 0 0 3 0 0 0 3 0 0 0 2 0 0 2 0 0 0 0 0 1 1 يمكنك تطوير الشكل كما تريد .. مجرد فكرة للحل تم تعديل 19 مايو 200619 سنة بواسطة Amgad تقديم بلاغ
بتاريخ: 20 مايو 200619 سنة كاتب الموضوع comment_69738 بارك الله فيك يا اخي العزيز وشكرا جزيلا لك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.