У меня есть таблица assignment
, которая содержит задания, созданные учителем в определенном классе.
Таблица assignment
имеет следующие поля:
idAssignment (primary key),
classId (foreign key),
title,
assignmentDesc,
dateDue
У меня также есть таблица assignmentsubmissions
, в которую учащиеся этого класса загружают свои задания в задание.
Таблица assignmentsubmission
имеет следующие поля:
assignmentSubmissionId (primary key),
assignmentId (foreign key),
userId (foreign key),
submission
По сути, я хочу присоединиться assignmentsubmission
к assignment
для ученика в определенном классе, чтобы увидеть задания, которые он выполнил и не выполнил.
Я пробовал несколько разных методов, но это моя текущая команда SQL:
SELECT *
FROM assignment
LEFT JOIN assignmentsubmission
ON assignment.idAssignment = assignmentsubmission.assignmentId
WHERE classId = 1234
AND ((userId = 1) OR (userId IS NULL))
Студент, возможно, еще не загрузил заявку на конкретное задание, поэтому в этом случае userId
не будет существовать для этого assignment
, и я хочу объединить null
строки для assignmentsubmission
. В существующем состоянии все, что происходит, - это только отображенные отправленные назначения, но я хочу, чтобы все назначения были возвращены с полями отправки или пустыми данными.
Я действительно борюсь с этой проблемой, поэтому любая помощь будет принята с благодарностью, спасибо.