我在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)
您可以創建一個SQL小提琴(http://sqlfiddle.com/),因此我們可以看到數據 – 2014-09-18 21:07:37
編寫標準的'JOIN'語法,而不是過去20多年來語法過時的語法。 – 2014-09-19 15:06:35