У меня есть запрос ниже, выполняемый для моей таблицы users
и chats
, и я пытаюсь group by
в моей таблице chats
для user_id OR receiver_id
, а не просто user_id
, как вы можете видеть ниже вSQL-запрос внутри INNER JOIN
.
SELECT c.*, users.username, users.firstname, users.lastname
FROM chats c
INNER JOIN( SELECT MAX(created) AS Date, user_id, receiver_id, chat, type, id
FROM chats
WHERE receiver_id = 286 OR user_id = 286
GROUP BY user_id ) cc ON cc.Date = c.created AND cc.user_id = c.user_id
LEFT JOIN users ON users.id = c.user_id
WHERE c.receiver_id = 286 OR c.user_id = 286
Я пытался GROUP BY user_id OR receiver_id
, но я не могу получить информацию для идентификатора 286 для receive_id или user_id.
Есть ли способ, которым мыможно достичь этого и сгруппировать так, чтобы мы могли просматривать оба столбца и получать результаты по обоим?
Нужно ли выполнять два запроса и объединять их вместе?