У меня есть редактор расписания на веб-странице, и мне нужно выбрать TIMETABLE, используя идентификатор CLASS, и всеми пользователями, которые находятся в этом классе, с помощью USER.CLASS ID = CLASS ID, и от этого пользователи получают группы, которые имеют идентификатор группы иПОЛУЧИТЕ ВСЕ РАСПИСАНИЯ с ID ГРУППЫ.Извините за мои объяснения.
Пользователь связан с классом по cid.userGroup - это просто uid и gid.В расписании есть как cid, так и gid.Когда first равно null, дается секунда.
Я попробовал код ниже, и многие комбинации всех JOIN'ов, которые я не могу заставить работать
SELECT DISTINCT
`timetable`.*,
`group`.name AS groupName,
`class`.name AS className
FROM
`timetable`,
`user`,
`userGroup`
LEFT OUTER JOIN `group` ON `userGroup`.gid = `group`.gid
LEFT OUTER JOIN `class` ON `class`.cid = '1'
WHERE
`user`.cid = 1 AND `userGroup`.uid = `user`.uid AND(
`timetable`.gid = `group`.gid OR `timetable`.cid = '1'
)
Я ожидал вывода с3 расписания.1 от класса и 2 от разных групп, которые связаны с пользователями, которые связаны с классом.Я также хотел имена, которые из GROUP и один из CLASS по уважаемым идентификаторам т.е. (gid, cid).Есть ли способ получить NULL для className, если cid имеет значение null?