بتاريخ: 13 يونيو 200619 سنة comment_72008 سلام عليكم اخواني الاعزاءمطلوب مني عمل تقرير عن اكبر 20 مرض خلال فترة معينةاريد جملة استعلام تقوم باحضار اول 20 سجل فقط تنطبق عليهم شرط الاستعلام وشكرا تقديم بلاغ
بتاريخ: 13 يونيو 200619 سنة comment_72057 جرب هذا الكود بهذه الطريقة select rownum as Rank,last_name,salary from(select last_name,salary from employeesorder by salary desc)where rownum <=3-------------------------------------و اكتب الكود بالشكل التالي select rownum as Rank,last_name,salary fromemployees order by salary descwhere rownum <=3/و لا حظ الفرق .................... تقديم بلاغ
بتاريخ: 14 يونيو 200619 سنة كاتب الموضوع comment_72126 شكرا لكم اخواني على ردك السريعولكن انا اعرف ان ال rownum هو الحل لهذه المشكلة ولكن عندما تكون جملة الاستعلام مكون من جدول واحد وليست مركبةهذه هي جملة الاستعلام التي اريد ان احصل منها على اول 20 سجلSELECT COUNT(A.PAT_NO) , A.ICD_CODE , a.F4FROM PAT_ICD A , IPS_EPISODE_REC B WHERE A.IO = B.IO AND A.PAC_EP_NO = B.PAC_EP_NO AND A.PAT_NO = B.PAT_NO AND A.CATEG='F'AND ((B.IPS_ep_start <=:DATE_TO and nvl(B.IPS_ep_end,:DATE_FROM) >=:DATE_FROM))GROUP BY A.ICD_CODE , a.F4 ORDER BY 1 DESCواشكركم شكرا جزيلا على مساعدتكم القيمة تقديم بلاغ
بتاريخ: 14 يونيو 200619 سنة comment_72147 السلام عليكم الاخ الكريم اذا وضعت اكثر من جدول في top-n view لا تؤثر علي النتيجة فالنتيجة ستكون واحدة يمكنك استعمال نفس الطريقة اليت كتبها الاخ hearthouse و تضع جملة الاستعلام في بين القوسسين كtop-n viewو هذا هو الكود بعد التعديل SELECT c, a.icd_code, a.f4 FROM (SELECT COUNT (a.pat_no) c, a.icd_code, a.f4 FROM pat_icd a, ips_episode_rec b WHERE a.io = b.io AND a.pac_ep_no = b.pac_ep_no AND a.pat_no = b.pat_no AND a.categ = 'F' AND (( b.ips_ep_start <= :date_to AND NVL (b.ips_ep_end, :date_from) >= :date_from ) ) GROUP BY a.icd_code, a.f4 ORDER BY 1 DESC) WHERE ROWNUM <= 20 بالتوفيق تقديم بلاغ
بتاريخ: 14 يونيو 200619 سنة كاتب الموضوع comment_72169 ألف شكرا يا جماعة فعلا نفذت الجملة بالطريقة الصحيحةولكن بعد كتابة ALIAS لكل الحقولفأصبحت الجملة بهذا الشكلSELECT c , ICD , cat FROM (SELECT COUNT (a.pat_no) c, a.icd_code icd, a.f4 cat FROM pat_icd a, ips_episode_rec b WHERE a.io = b.io AND a.pac_ep_no = b.pac_ep_no AND a.pat_no = b.pat_no AND a.categ = 'F' AND (( b.ips_ep_start <= '31-JAN-06' AND NVL (b.ips_ep_end, '01-JAN-06') >= '01-JAN-06') ) GROUP BY a.icd_code, a.f4 ORDER BY 1 DESC)WHERE ROWNUM <= 20 لكم جزيل الشكر لكل من تفضل بالرد تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.