Saya mempunyai jadual yang menyenaraikan keputusan ujian pelajar. Setiap baris mengandungi ID pelajar dan terdapat lajur, setiap lajur mewakili skor ujian individu. Sekarang saya perlu membuat pertanyaan yang membolehkan saya melihat baris berasingan untuk ID pelajar yang sepadan dengan setiap skor ujian. Saya telah mencari Stack Overflow untuk pendekatan terbaik, tetapi saya tidak menemui pendekatan yang kelihatan cekap. Saya menulis kod yang disenaraikan di bawah untuk seorang pelajar (1000002), tetapi nampaknya terlalu rumit untuk apa yang saya cuba capai dan hanya berfungsi untuk tiga markah ujian, jadi saya perlu menambah lebih banyak kod untuk mendapatkan Semua 16 mata. Adakah terdapat cara mudah untuk melakukan ini dengan satu pertanyaan (diutamakan) atau adakah saya perlu mengekstrak baris dan kemudian menggunakan gelung untuk membina tatasusunan daripada setiap elemen (pilihan kedua)?
SELECT scores_uid , skor1 DARI penilaian_skor WHERE fk_assigned_uid = '1000002' KESATUAN SEMUA PILIH scores_uid , markah2 DARI penilaian_skor WHERE fk_assigned_uid = '1000002' KESATUAN SEMUA PILIH scores_uid , skor3 DARI penilaian_skor WHERE fk_assigned_uid = '1000002';
Sebaik-baiknya, anda sepatutnya mempunyai struktur seperti ini:
students
id
name
tests
id
number
test_results
id
student_id
test_id
result
Dengan cara ini anda boleh mendapatkan semua keputusan untuk pelajar dalam satu pertanyaan.