MySQL присоединиться не работает правильно

У меня есть 3 таблицы в базе данных MySQL

chat
user1, user2, chat_key

chat_seen
msgid, userid, viewed

users
username, status, key

Поэтому я пытаюсь отобразить чаты, упорядочивающие их пользователями онлайн, а затем увиденные сообщения. Но это не работает. это то, что у меня до сих пор, я только получил его для работы с чатом и пользователями, я не знаю, как добавить заказ по чату видно

("SELECT u.random, u.status, c.chat_key, c.seen, u.username
FROM chat c, users u
WHERE CASE
WHEN c.user1 = ?
THEN c.user2 = u.random
WHEN c.user2 = ?
THEN c.user1= u.random
END
AND (
c.user1 = ?
OR c.user2 = ?)
ORDER BY u.status DESC LIMIT 50");

Так что результаты должны быть

username - online - (2 messages)
username - online - (1 message)

username - offline - (20 messages)
username - offline - (2 messages)
username - offline - (o messages)

На данный момент у меня есть

username - online - (0 messages)
username - online - (0 messages)
username - offline - (2messages)
username - offline - 20 messages)

0

Решение

Попробуйте этот запрос ниже:

("SELECT
u.random,
u.status,
c.chat_key,
c.seen,
u.username

FROM chat c, users u

WHERE
(c.user1 = ? AND c.user2 = u.random)
OR
(c.user2 = ? AND c.user1 = u.random)
AND
(c.user1 = ? OR c.user2 = ?)

ORDER BY u.status DESC LIMIT 50");

Дайте мне знать, если это работает. : D

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]