所以我正在尝试建立一个聊天系统,目前正在尝试列出用户的对话。
这是我的sql表:
ID | FROM_USER | TO_USER | MESSAGE
------------------------------------------------------------
1 | 16 | 29 | Hey!
2 | 29 | 18 | Hii..
3 | 29 | 16 | What's up?
我试图做的是显示用户 29(当前用户(发短信的用户和发送消息 29 的用户。如何实现这一点?我已经尝试使用"GROUP BY"语句和"DISTINCT"语句进行过尝试,但似乎没有任何效果。我如何实现这一点?
显示用户 29(当前用户(发短信的用户和发送消息的用户 29
您可以列出从用户 19 接收消息或向他发送消息的所有用户,如下所示:
SELECT DISTINCT
CASE WHEN from_user = 19 THEN to_user ELSE from_user END as other_user
FROM mytable
WHERE from_user = 19 OR to_user = 19