23-10-16, 04:01 AM
(22-10-16, 10:35 PM)ممدوح كتب : أخشى أن المشروع متشعب جدا لكن لا مانع من المحاولة في الانتظار على قدر الاستطاعةالاخ ممدوح ارى من خلال جملة الاستعلام لديك ان البيانات تم جلبها من جدول الطلاب فقط
هذه محاولة على ما فهمت من صورة الجداول
كود :
SELECT TOP (3)
Student_Table.Student_ID,
Student_Table.Student_Name,
Student_Table.Specialization_ID,
Student_Table.St_Current_Level
FROM Specialization_Table
INNER JOIN Student_Table
ON Specialization_Table.Specialization_ID = Student_Table.Specialization_ID
WHERE ( Student_Table.St_Current_Level = @level )
ORDER BY Student_Table.Specialization_ID,
Student_Table.Student_Name
ومعروف أن TOP تأخذ أعلى أسطر وهنا تم تحديد 3 أسطر
و level@ هو بارامتر لتحديد المستوى
يبقى مسألة التنازلي والتصاعدي يكون مع ORDER BY فيكون DESC للتنازلي مثل
ORDER BY student_table.specialization_id DESC
ويمكن التنويع لكل عمود من ترتيب تصاعدي أو تنازلي
مع مراعاة أن الترتيب سيكون بناء على ترتيب اسماء الأعمدة بعد كلمة ORDER BY
السؤال :لماذا استخدمت Inner Join اذا كانت البيانات كلها من جدول واحد ؟؟
سؤال اخر للاخت ميرا ما هو الحقل (St_Current_Level) في جدول الطلاب هل هو نفس الحقل (Lvl_Current) من جدول Level
و ارى اننا بحاجة الى بعض التوضيح بخصوص الحقول التي تريدين عرضها في القريد و كذلك من اي جداول
لدي حدس يخبرني بهذا الشكل للاعمدة
PHP كود :
SELECT Specialization_Table.Specialization_Name,Student_Table.Student_ID, Student_Table.Student_Name, Level_Table.Lvl_Current
FROM ( Specialization_Table INNER JOIN Student_Table ON Specialization_Table.Specialization_ID = Student_Table.Specialization_ID) INNER JOIN Level_Table ON Student_Table.Student_ID = Level_Table.Student_ID;
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


