Логичкая ошибка в запросе SQL
Мне нужно получить данные из выборки. Если я ввожу в "access_id" несуществующий ID которого нет в таблице access_rights возвращает ноль строк.
Хотя строка должна быть со значениями NULL из таблицы access_rights
Как получить данные из выборки, если access_id в БД не существует?
SELECT access_rights.value, access_rights.user_id, access_rights.access_id, users.nickname, users.name, users.group_id
FROM `sessions`
LEFT JOIN `users` ON sessions.user_id=users.id
LEFT JOIN `access_rights` ON access_rights.user_id = users.id
and access_rights.access_id = access_rights.access_id
WHERE `session` = "z9YiXI7SdgddMxDnujSnRjBXeagLJpFB" and `access_id` = 24
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT t2.*
FROM ( SELECT @access_id AS access_id,
@session AS session ) AS t1
LEFT JOIN data_source_tableset AS t2 ON t1.access_id = t2.access_id
AND t1.session = t2.session