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

时间:2014-03-13 05:29:18

标签: php mysql sql database

我正在为我的网站创建群组。我有以下表格

用户表,其中包含所有用户详细信息   cc_group_member 表中的用户组详细信息,我有用户ID,组ID   communication_center_groups 表格。

我想搜索用户添加到群组中。但是当我搜索时它会显示重复的数据。问题是这个..哪个用户是该组的成员,它也在搜索结果中显示。

我在组表中有4个邀请状态,其中包含

0-发送请求

1-Accpet头

2拒绝

3-取消。

我想如果用户拒绝或取消请求,也会在结果中显示,但只有一次在我的结果中显示2次。请帮忙.. 感谢名单。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以使用UNION

http://www.w3schools.com/sql/sql_union.asp

只需使用不同条件的联合并获取所有记录