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

أوامر last & First


mhl

Recommended Posts

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

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

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

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

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

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

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

أمر 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
رابط هذا التعليق
شارك

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

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




تحياتي،،

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

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

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

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

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

اخى الكريم:
حسب شرحك للمثال السابق فاظن ان الموضوع ببساطة هو استخدام order by
وتضع فيها الاعمدة حسب القيمة المراد اظهارها
فحسب المثال تكون الجملة

Select m.st_no, m.sub_no, m.deg
from m order by m.st_no, m.sub_no;

والله اعلم

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

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

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

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

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

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

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

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

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

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

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

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

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