我有一个用户表,其中所有信息都是一对一的关系......
users table
------------------------
id | name
------------------------
800 | Bob Smith
801 | Jane Doe
802 | Fred Flintstone
803 | Barney Rubble
804 | Marge Simpson
我还有另一个多对一关系表,其中包含所有用户到他们所属的组的用户组映射
user_usergroup_map table
------------------------
user_id | group_id
------------------------
800 | 16
800 | 27
801 | 25
801 | 27
802 | 17
802 | 19
802 | 22
802 | 25
803 | 25
803 | 27
804 | 15
我正在尝试生成一组不同的用户,这些用户属于 2 个不同的组。同时,我试图将所有这些都保存在一个数组中(我将用作分页参考)。
我已经能够通过 JOIN 语句成功查询这两个表......
$group_id1 = 25;
$group_id2 = 27;
$query = SELECT DISTINCT name, id FROM users INNER JOIN user_usergroup_map on user_usergroup_map.user_id=users.id WHERE group_id IN('$group_id1', '$group_id2');
但是,有了这个,我得到了一个不同的用户列表,这些用户属于 group_id 15 或 group_id 27,而不是属于这两个组的用户。我知道我已经盯着这个看太久了,我错过了一些简单的逻辑元素,但我一辈子都看不到它。如果有人可以阐明我可能做错了什么,我将不胜感激。