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

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

صورة
- - - - -

أوامر last & First


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

#1 mhl

mhl

    مشترك

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

تاريخ المشاركة 06 February 2005 - 04:27 PM

نستخدم في الاكسس أوامر Last و First ماهو مقابل هذه الاوامر في sql Oracle
ولكم تحياتي

#2 egyhamada

egyhamada

    مشترك

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

تاريخ المشاركة 07 February 2005 - 12:28 PM

هل يمكنك توضيح ماذا يفعل هذان الامران لنتمكن من مساعدتك ؟
اسف لعدم خبرتى فى الاكسس

#3 ألماس

ألماس

    مشترك

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

تاريخ المشاركة 07 February 2005 - 05:48 PM

اخي الكريم هناك لغات برمجة عديدة في عالمنا

وليس من الضروري ان تكون هناك اوامر لها

مقابل في لغة اخرى ، فاذا كنت تقصد ان Last

والــ First هما ذهاب المؤشر الى اخر و أول

سجل فهذا يعتمد على الـ Cursor الذي يقف

عليه في السجل ، فيا ريت توضح لنا اكثر من سؤالك؟
صورة

#4 mhl

mhl

    مشترك

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

تاريخ المشاركة 07 February 2005 - 09:55 PM

أمر last هو احد أوامر اللغه الاستفسارية SQL في الاكسس ..وعند تنفيذه يرجع لك
آخر قيمة لحقل معين حسب شرط الجملة .
وليس اخر سجل في الجدول .

أمر First هو احد أوامر اللغه الاستفسارية SQL في الاكسس ..وعند تنفيذه يرجع لك
أول قيمة لحقل معين حسب شرط الجملة .

مثال :- نفرض لدينا جدول نتائج الطلاب (m)ويحتوي على :-

رقم الطالب .............المقرر.................الدرجة
deg.................sub_no.............st_no
-----------------------------------------------------
101 .......... 201 .......... 60
101 .......... 202 .......... 85
101 .......... 203 .......... 95
205 .......... 201 .......... 65
205 .......... 202 .......... 88
205 .......... 203 .......... 90
208 .......... 200 .......... 77
208 .......... 201 .......... 80

المطلوب :-
1- درجة أول مقرر اخذه الطلاب .
سيكون الجواب :-
رقم الطالب .............المقرر.................الدرجة
-----------------------------------------------------
101 .......... 201 .......... 60
205 .......... 201 .......... 65
208 .......... 200 .......... 77

في الاكسس يمكن ببساطة كتابه جملة sql ترجع هذه النتائج بواسطه first

SELECT m.st_no, First(m.sub_no) AS [First], First(m.deg) AS FirstOfdeg
FROM m
GROUP BY m.st_no;





2-درجة أخر مقرر أخذه الطلاب في .

رقم الطالب .............المقرر.................الدرجة
-----------------------------------------------------
101 .......... 203 .......... 95
205 .......... 203 .......... 90
208 .......... 201 .......... 80

في الاكسس يمكن ببساطة كتابه جملة sql ترجع هذه النتائج بواسطه last

SELECT m.st_no, Last(m.sub_no) AS [last], Last(m.deg) AS LastOfdeg
FROM m
GROUP BY m.st_no;





فكيف يمكن كتابة جملة SQL في الاوراكل ؟؟؟؟
بمعنى آخر ماهو مقابل هذه الاوامر في sql plus ???

تم التعديل بواسطة mhl, 07 February 2005 - 10:14 PM.


#5 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 08 February 2005 - 01:49 AM

بصراحه لم اقتنع بهذه الداله ولاارى لها فائدة ،،، فعادة الاستعلامات تكون بالاعتماد على شروط ليس على اول قيمة واخر قيمة !!!

ومن الممكن فى حاله جدول الطلاب ان نضع عمود اخر يحتوي على تاريخ الحصول على الدرجة ، ومن ثم بناء الاستعلام بالاعتماد على التاريخ ...




تحياتي،،

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#6 rezeq

rezeq

    عضو

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

تاريخ المشاركة 08 February 2005 - 04:08 PM

أخي الكريم الحل كما يلي:

نفرض ان جدول الطلاب يحتوي على البيانات التالية

STD_NO SUB_NO DEG
--------- --------- ---------
101 201 60
101 202 85
101 203 95
205 201 65
205 202 88
205 203 90
208 200 77
208 201 80


CURSOR CUR1 IS
SELECT A.STD_NO,A.SUB_NO,A.DEG
FROM STUDENTS A,(SELECT STD_NO,MIN(SUB_NO) FIRST FROM STUDENTS GROUP BY STD_NO )B
WHERE A.STD_NO = B.STD_NO AND A.SUB_NO=B.SUB_NO
ORDER BY A.STD_NO,A.SUB_NO

#7 mhl

mhl

    مشترك

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

تاريخ المشاركة 11 February 2005 - 03:39 AM

الاخ rezeq
شكرا على الرد ...ولكن ليس هذا المطلوب ...
المطلوب بلغه SQL
وليس PL/SQL
تحياتي

#8 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 11 February 2005 - 06:54 PM

اخى الكريم:
حسب شرحك للمثال السابق فاظن ان الموضوع ببساطة هو استخدام order by
وتضع فيها الاعمدة حسب القيمة المراد اظهارها
فحسب المثال تكون الجملة
Select m.st_no, m.sub_no, m.deg
from m order by m.st_no, m.sub_no;
والله اعلم

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com


#9 mhl

mhl

    مشترك

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

تاريخ المشاركة 17 February 2005 - 08:49 AM

الاخ اسامة ...
لو طبقنا جملتك هل سنحصل على النتجية التاليه
المطلوب :-
1- درجة أول مقرر اخذه الطلاب .
سيكون الجواب :-
رقم الطالب .............المقرر.................الدرجة
-----------------------------------------------------
101 .......... 201 .......... 60
205 .......... 201 .......... 65
208 .......... 200 .......... 77

الجواب لا ...
اذن ليس هو المطلوب ..

#10 ابو عبد المجيد

ابو عبد المجيد

    عضو

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

تاريخ المشاركة 19 February 2005 - 09:22 PM

الموضوع بسيط
استخدم جملة having
انا هكتبه لك غدا ان شاء الله ولكنى مستعجل جدا الان
لانى كتبتها ولم استطيع ارسالها لانى لا اعرف طريقة الارسال
تحياتى اليك اخى