Соединить две/три таблицы, сохраняя все записи всех таблиц
На данный момент у меня есть две таблицы (третья добавиться позже).
Первая таблица под названием titles_quizes включает в себя все существуещие экзамены в базе данных:
Title_QuizID | Title | SubjectID | Draft |
---|---|---|---|
32 | Basic | 104 | 0 |
35 | Prof | 104 | 0 |
37 | 123123 | 89 | 1 |
38 | 123123123 | 104 | 0 |
Вторая таблица под названием savged_quizes включает в себя экзамены которые сохранил для себя пользователь:
savedQuizID | Title_QuizID | UserID | Title_Name |
---|---|---|---|
1 | 38 | 19 | 123123123 |
2 | 35 | 19 | Prof |
На странице экзаменов (например все экзамены у которых SubjectID=104) я хочу вывести все экзамены и выделить те что сохранены у данного юзера.
Например:
Title_QuizID | Title | SubjectID | Draft | savedQuizID | UserID |
---|---|---|---|---|---|
32 | Basic | 104 | 0 | null | null |
35 | Prof | 104 | 0 | 2 | 19 |
37 | 123123 | 89 | 1 | null | null |
38 | 123123123 | 104 | 0 | 1 | 19 |
Есть ли возможность создать такую таблицу или соединить две таблицы в одну.
На данный момент я попробовала использовать следующий запрос:
SELECT * FROM titles_quizes LEFT JOIN savged_quizes ON titles_quizes.Title_QuizID = savged_quizes.Title_QuizID
Данный запрос возвращает мне следущую таблицу:
Title_QuizID | Title | SubjectID | Draft | savedQuizID | Title_QuizID | UserID | Title_Name |
---|---|---|---|---|---|---|---|
32 | Basic | 104 | 0 | null | null | null | null |
35 | Prof | 104 | 0 | 2 | 35 | 19 | Prof |
37 | 123123 | 89 | 1 | null | null | null | null |
38 | 123123123 | 104 | 0 | 1 | 38 | 19 | 123123123 |
Запрос
SELECT
titles_quizes.Title_QuizID,
titles_quizes.Title,
titles_quizes.SubjectID,
titles_quizes.Draft,
savged_quizes.savedQuizID,
savged_quizes.UserID
FROM titles_quizes LEFT JOIN savged_quizes ON titles_quizes.Title_QuizID = savged_quizes.Title_QuizID
Дает мне нужную мне таблицу с нужными мне даннами, но я хотела узнать как можно улучшить запрос. В случае есть мне нужно будет добавить или убрать другие столбцы, мне кажеться перечеслять их всех будет очень муторно и может создавать проблемы.