البرمجة

كيفية استرداد معلومات الطلاب باستخدام SQL في PHP

To retrieve the desired result, you can use the following SQL statement:

sql
SELECT u.USER_ID, u.FIRST_NAME, u.LAST_NAME, u.EMAIL, d.DEBATE_ID, d.DEBATE_NAME FROM USER u JOIN STUDENT s ON u.USER_ID = s.USER_ID JOIN ENROLMENT e ON s.STUDENT_ID = e.STUDENT_ID JOIN DEBATE d ON e.DEBATE_ID = d.DEBATE_ID WHERE u.USER_ID = {USER_ID} AND d.DEBATE_ID IN ({DEBATE_IDS});

Replace {USER_ID} with the actual USER_ID of the student, and {DEBATE_IDS} with a comma-separated list of DEBATE_IDs for the debates the student is currently enrolled in.

This SQL statement uses INNER JOINs to connect the USER, STUDENT, ENROLMENT, and DEBATE tables based on their foreign keys. The WHERE clause filters the results to include only the specified USER_ID and DEBATE_IDs.

المزيد من المعلومات

للحصول على المزيد من المعلومات، يمكنك توسيع الاستعلام الخاص بك ليتضمن المزيد من الحقول أو الجداول. على سبيل المثال، يمكنك تضمين حقل المرتبة (RANK) لكل طالب في كل مناظرة بحيث يظهر ترتيبهم في كل مناظرة. الاستعلام الذي يضمن هذه المعلومات يمكن أن يكون كما يلي:

sql
SELECT u.USER_ID, u.FIRST_NAME, u.LAST_NAME, u.EMAIL, d.DEBATE_ID, d.DEBATE_NAME, e.RANK FROM USER u JOIN STUDENT s ON u.USER_ID = s.USER_ID JOIN ENROLMENT e ON s.STUDENT_ID = e.STUDENT_ID JOIN DEBATE d ON e.DEBATE_ID = d.DEBATE_ID WHERE u.USER_ID = {USER_ID} AND d.DEBATE_ID IN ({DEBATE_IDS});

يقوم هذا الاستعلام بإضافة حقل RANK من الجدول ENROLMENT ليظهر ترتيب الطالب في كل مناظرة.

زر الذهاب إلى الأعلى