Во-первых, вы должны нормализовать ваши данные .
В настоящее время вы повторяете данные firstname
, lastname
и Year_Group
в двухотдельные таблицы, которые не только раздувают вашу базу данных, но и означают, что такие данные должны храниться в двух разных местах, что может привести к несоответствиям и затем к неопределенности относительно того, кто является хозяином.
Вместо этого я бы предложилВаша таблица Students
должна содержать всю информацию, касающуюся характеристик учащегося:
Учащиеся
+----+-----------+----------+------------+------------+
| id | firstname | lastname | Year_Group | Form_Group |
+----+-----------+----------+------------+------------+
| 2 | mnb | nbgfv | 7 | 1 |
| 3 | jhg | uhgf | 8 | 2 |
| 4 | poi | ijuy | 9 | 2 |
| 5 | tgf | tgfd | 10 | 2 |
| 6 | wer | qwes | 11 | 2 |
+----+-----------+----------+------------+------------+
И информация, относящаяся к каждому учебному дню, должна содержать только ссылкиидентификатор студента в таблице Students
:
SchoolDays
+----------+----+--------+-----------+----------+
| Date | id | Effort | Behaviour | Homework |
+----------+----+--------+-----------+----------+
| 28/02/19 | 2 | Good | Good | Y |
| 28/02/19 | 3 | OK | OK | Y |
| 28/02/19 | 4 | Bad | Bad | N |
| 01/03/19 | 5 | Good | OK | Y |
| 01/03/19 | 6 | Good | Good | Y |
+----------+----+--------+-----------+----------+
Затем, если вы хотите отобразить данные целиком, вы должны использовать запроскоторая объединяет две таблицы, например:
select
t2.date,
t1.firstname,
t1.lastname,
t1.year_group,
t2.effort,
t2.behaviour,
t2.homework
from
students t1 inner join schooldays t2 on t1.id = t2.id