J'ai 3 tables dans la base de données MySQLmysql join ne fonctionne pas correctement
chat
user1, user2, chat_key
chat_seen
msgid, userid, viewed
users
username, status, key
Alors im essayant d'afficher les chats les commander en repérant les utilisateurs en ligne, puis les messages vus. Mais ça ne marche pas. ce que j'ai jusqu'à présent, iv que cela a à travailler avec le chat et les utilisateurs, je ne sais pas comment ajouter ordre par chat vu
("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");
Ainsi, les résultats devraient être
username - online - (2 messages)
username - online - (1 message)
username - offline - (20 messages)
username - offline - (2 messages)
username - offline - (o messages)
Au moment j'ai
username - online - (0 messages)
username - online - (0 messages)
username - offline - (2messages)
username - offline - 20 messages)
pouvez-vous créer un fiddle SQL (http://sqlfiddle.com/), afin que nous puissions voir les données –
Écrivez la syntaxe standard 'JOIN' au lieu de la syntaxe obsolète qui a disparu depuis plus de 20 ans. –