MySQL сводит строки в столбцы, даже если строка не существует - PullRequest
1 голос
/ 27 июня 2019

Я хотел бы повернуть строки в столбцы, но указать оценку для каждого теста (1-4), даже если у ученика нет оценки по этому предмету ...

Вот мои таблицы

students             subjects               gradesweeps
id  | stuname        id  |  subname         id  |  gradesweep
1   | steve          1   |  english         1   |  check_1
2   |  Bob           2   |  maths           2   |  check_2
                                            3   |  check_3
                                            4   |  check_4


grades
id | student_id | subject_id | gradesweep_id | grade
1    1            1            1               4
2    1            1            3               6
3    1            1            4               5

Учащийся 1 имеет 3 проверки успеваемости из 4 на английском языке, но хотел бы, чтобы оценка 2 была пустым результатом или пустым ...

Возможно ли иметьрезультирующий набор, подобный этому;

student_id = 1
subject_id = 1

student_id | subject_id | Check_1 | Check_2 | Check_3 | Check_4
1            1            4                   6         5

Или даже лучше;

student_id | subject_id | gradesweep_id | grade
1            1            1               4
1            1            2               null or blank
1            1            3               6
1            1            4               5

1 Ответ

0 голосов
/ 27 июня 2019

Создание базы данных для хранения пустых столбцов не рекомендуется, и ее следует избегать.Если у вас возникли проблемы при разработке базы данных, я рекомендую ознакомиться с нормализацией базы данных.Следующая ссылка объясняет (1NF) и переходит к (2NF) и (3NF).

https://www.essentialsql.com/get-ready-to-learn-sql-8-database-first-normal-form-explained-in-simple-english/

Счастливого кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...