Php 从不在第二个表中的表中获取用户名

Php 从不在第二个表中的表中获取用户名,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在为我的网站创建组。我有以下几张表 用户包含所有用户详细信息的表格 cc_group_member用户组详细信息表在此我有用户id,组id 通信中心组组表 我想在用户组中搜索外接程序。但当我搜索时,它会显示重复的数据。问题是。。哪个用户是该组的成员也会显示在搜索结果中 我在引用的组表中有4个邀请状态 0-发送请求 1-accpet 2-拒绝 3-取消 我想如果用户拒绝或取消请求,也可以显示在结果中,但只有1次,它在我的结果中显示2次。请帮忙。。 塔克斯 我无法理解您的问题。但如果您有重复的结

我正在为我的网站创建组。我有以下几张表

用户包含所有用户详细信息的表格
cc_group_member用户组详细信息表在此我有用户id,组id 通信中心组组表

我想在用户组中搜索外接程序。但当我搜索时,它会显示重复的数据。问题是。。哪个用户是该组的成员也会显示在搜索结果中

我在引用的组表中有4个邀请状态

0-发送请求

1-accpet

2-拒绝

3-取消

我想如果用户拒绝或取消请求,也可以显示在结果中,但只有1次,它在我的结果中显示2次。请帮忙。。 塔克斯


我无法理解您的问题。但如果您有重复的结果,您可以使用select distinct,对于第二部分,您可以在数据库中添加另一个字段,告知此用户是否为成员,您可以使用UNION


只需在不同条件下使用union并获取所有记录

将左连接到查询而不是直接将其连接到cc_group_成员表背后的想法是什么?例如,更新表数据、查询得到的结果以及需要的结果都会有所帮助。
SELECT u.*,cc.invitation 
FROM user u 
  left join (select distinct(user_id),invitation 
             from cc_group_member 
             where group_id='$groupId' 
             and (invitation = '3' or invitation = '2') ) as cc ON u.id = cc.user_id 
where (u.username like '".$condition."%' or u.first_name like '".$condition."%' or last_name like '".$condition."%') 
and u.type !='1' and u.type = '$user_type'  
ORDER BY u.username

SELECT u.*,cc.invitation 
FROM user u left join (select distinct(user_id),invitation 
                       from cc_group_member 
                       where group_id='10' 
                       and (invitation = '3' or invitation = '2') ) as cc ON u.id = cc.user_id 
where (u.username like '1%' or u.first_name like '1%' or last_name like '1%') 
 and u.type !='1' and u.type = '5' 
ORDER BY u.username