我需要爲A級學生開發一個數據庫,而且我在分類主題時遇到問題。他們共有13個科目,每個學生可以根據自己的喜好選擇13個科目中的許多科目和任意組合。
我該如何處理這個問題?我如何創建一個數據庫來保存每個學生的學科組合的記錄?需要數據庫創建幫助
任何人都可以幫助我嗎?
我需要爲A級學生開發一個數據庫,而且我在分類主題時遇到問題。他們共有13個科目,每個學生可以根據自己的喜好選擇13個科目中的許多科目和任意組合。
我該如何處理這個問題?我如何創建一個數據庫來保存每個學生的學科組合的記錄?需要數據庫創建幫助
任何人都可以幫助我嗎?
製作一張帶有學生列表的表格,並製作一張帶有主題列表的表格。在另一個表中插入帶有學生ID和他們正在學習的主題ID的行。
id | student
id | subject
id | subject id | student id
表:受
列:ID,SUBJECT_NAME
表:學生
列:ID,student_name
表:student_subject_map
列:ID, student_id(student.id - 外鍵),subject_id(subject.id - forei gn鍵)
你會有三個表:一個主題表,存儲主題信息;存儲學生信息的學生表,以及包含兩列,學生ID和主題ID的註冊表。
爲了讓拍攝對象的列表中的學生做的,你執行一個查詢是這樣的:
SELECT Subjects.name FROM Subjects INNER JOIN Enrolment ON Enrolment.subject_id = Subjects.subject_id WHERE Enrolment.student_id = '(student_id)' ORDER BY Subjects.name ASC
並查看所有科目的學生選擇了,從student_subject_map其中
選擇subject_id student_id == < student-id>;
用學號的id替換< student-id>。下一個級別是使用table_subject中的id,subject_name匹配來獲取主題名稱而不是subject_id。 (線索:嵌套選擇語句)
不!不是嵌套的select語句。可怕的建議。你想要加入。 – tomfanning 2009-07-07 09:27:02