У меня есть две таблицы, одна запись просмотров, другая пользовательская таблица. Если пользователь вошел в систему, обращение записывается с идентификатором этого пользователя. Если пользователь не вошел в систему, попадание регистрируется как user_id = 0
.
Когда я запускаю отчет, я хочу ПРИСОЕДИНИТЬСЯ к обращениям к таблице пользователей, чтобы получить имя пользователя, но нет пользователя с идентификатором 0, поэтому я возвращаю неверные данные (например, нет результатов для всех незарегистрированных обращений). ). Есть ли способ выбрать фиктивное имя пользователя, например «Гость», где условие ПРИСОЕДИНЕНИЯ не выполняется?
Вот запрос:
SELECT DATE_FORMAT(a.timestamp, '%Y-%m-%d') date, count(a.*) hits, a.user_id, b.username
FROM hits a
JOIN users b ON a.user_id = b.id
WHERE 1