我有一个表叫做messages
id - message - sender - receiver
1 - hello - 1 - 2
2 - hello - 1 - 2
3 - hello - 2 - 1
4 - hello - 3 - 1
5 - hello - 1 - 3
6 - hello - 23 - 1
7 - hello - 1 - 23
8 - hello - 1 - 2
和用户
id - name - email - phone
1 - abc1 - abc@gmail.com - 1234567890
2 - abc2 - abc@gmail.com - 1234567890
3 - abc3 - abc@gmail.com - 1234567890
23 - abc23 - abc@gmail.com - 1234567890
现在我想从messages表中选择所有用户,其中userid1通过发送方和接收方与组(不包括userid1)进行聊天。
换句话说,我只想从messages表中选择那些记录,其中用户1与之聊天
目前我有这个sql查询
SELECT * FROM messages INNER JOIN users ON messages.sender=users.id OR messages.receiver=users.id WHERE users.id!='1' GROUP BY users.id
但这个查询的问题是它选择了userid1不在users表中的所有记录
我只想从用户1与之聊天的用户表中选择那些记录。
任何帮助都将不胜感激
暂无答案!
目前还没有任何答案,快来回答吧!