我有一个称为消息的表
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
现在我要从发件人和接收者分组的用户ID 1与(不包括用户ID 1)聊天的消息表中选择所有用户。
换句话说,我只想从消息表中选择用户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
但是此查询的问题是 选择用户ID 1不在用户表中的所有记录
我只想从用户表中与用户1聊天的那些记录中选择。
任何帮助将不胜感激