Salem2020 قام بنشر يناير 23, 2023 قام بنشر يناير 23, 2023 السلام عليكم ورحمة الله تجدون في الملف المرفق جدول بسيط جدا يحمل اسم Table يحتوي على ثلاثة حقول هي حقل الرقم ID وحقل الاسم Name وحقل الدرجة Mark لمجموعة من الطلاب ارغب بعمل استعلام (كويري) يقوم بترتيب الطلاب رقميا (فقط) وذلك حسب الدرجة أي يكتب أمام أعلى درجة رقم (1) والثاني (2) والثالث (3) وهكذا فقط مع ضرورة عدم تجاوز أي رقم في حال وجود مكرر فمثلا تجد أن الدرجة (86) مكررة مرتين وبذلك يكون هناك طالبين يحملون المرتبة (3) اريد بعد ذلك أن ينتقل الى (4) ولا يتم القفز إلى (5) وهكذا بحثت كثيرا في النت ووجدت عدة حلول ولكنها ليست بالمستوى المطلوب حيث أن اغلب تلك الحلول تتم بعمل تقرير وأنا أرغب بأن يكون في جدول استعلام وهناك حلول اخرى ولكنها تقفز المرتبة في حال وجود رقم مكرر. ارجوا مساعدتي في ذلك ولكم فائق الاحترام Students.accdb
أفضل إجابة Barna قام بنشر يناير 23, 2023 أفضل إجابة قام بنشر يناير 23, 2023 1 ساعه مضت, Salem2020 said: السلام عليكم ورحمة الله تجدون في الملف المرفق جدول بسيط جدا يحمل اسم Table يحتوي على ثلاثة حقول هي حقل الرقم ID وحقل الاسم Name وحقل الدرجة Mark لمجموعة من الطلاب ارغب بعمل استعلام (كويري) يقوم بترتيب الطلاب رقميا (فقط) وذلك حسب الدرجة أي يكتب أمام أعلى درجة رقم (1) والثاني (2) والثالث (3) وهكذا فقط مع ضرورة عدم تجاوز أي رقم في حال وجود مكرر فمثلا تجد أن الدرجة (86) مكررة مرتين وبذلك يكون هناك طالبين يحملون المرتبة (3) اريد بعد ذلك أن ينتقل الى (4) ولا يتم القفز إلى (5) وهكذا بحثت كثيرا في النت ووجدت عدة حلول ولكنها ليست بالمستوى المطلوب حيث أن اغلب تلك الحلول تتم بعمل تقرير وأنا أرغب بأن يكون في جدول استعلام وهناك حلول اخرى ولكنها تقفز المرتبة في حال وجود رقم مكرر. ارجوا مساعدتي في ذلك ولكم فائق الاحترام تفضل <><><><><><<> Students (3).accdb 1
Salem2020 قام بنشر يناير 24, 2023 الكاتب قام بنشر يناير 24, 2023 السلام عليكم اشكرك شكرا كثيرا أخي Barna وأبشرك أنني بعد عناء البحث وجدت أخيرا الكويري المطلوب وللفائدة اضعه هنا وكل ما عليك فعله بعد إنشاء الكويري أن تقوم بعرضه في وضع SQL ثم لصق الكود التالي مع تغيير اسم الجدول وحقول الاستعلام بحسب ما هو لديك اسم الجدول هو Table حقل الاسم Name حقل الدرجة Mark الحقل الاضافي الخاص بالترتيب Rank SELECT T2.Name, 1 + ( SELECT COUNT(*) FROM ( SELECT DISTINCT Mark FROM [TABLE] ) AS T1 WHERE T1.Mark > T2.Mark) AS Rank FROM [Table] AS T2 ORDER BY T2.Mark DESC
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.