开门见山 
现在有3张表 
A表user
{
    id,username,userpassword,truename,email
}
B表group 

    id,groupname,groupdescription,groupdomain 
} C表groupuser 

    userid,groupid 

没有用外键,可能是sql语句定义它的 现在我的需求就是 
根据他的group组进行查询他的user用户 但用户登录是根据他的user用户去查询他所在组里所有的成员 
 这年头就剩12分了,郁闷当初怎么散分了 吃了回扣的大虾马上帮帮忙[/code]

解决方案 »

  1.   

    没有用外键,可能是sql语句定义它的 
    不明白这句话的意思根据
    C表groupuser 

        userid,groupid 
    //多个userid 对应一个groupid 也就是说多个用户属于一个组
    } B表group 

        id,groupname,groupdescription,groupdomain 

    B的这个ID是groupid 
    如果是这样的话
    根据他的group组(groupname? )进行查询他的user用户 
    最苯最容易看的办法://人所属的组
    select  a.username from A表user a where a.id in 
    //根据该组ID获得所有的c.userid
    (select c.userid  from C表groupuser c where c.groupid=
    //该组的ID号码( select b.id from B表group b  where b.groupname=groupname?))
      

  2.   

    select a.* from user a left out join groupuser b  on(a. id=b. userid) where b. groupid =?-------select a.* from user a left out join groupuser b  on(a. id=b. userid)inner join group c on(b. groupid =c.id) where c. groupname =?打完收工!我没吃回扣!
      

  3.   


    select * from user a , group b , groupuser c where a.id = c.userid and b.id = c.groupid and b.id= 填充这个是根据用户所在的组的ID查询所有成员 
      

  4.   

    根据用户所在的组查询所在的组所有成员 select * from user
    where id in (
      select userid from groupuser 
      where groupid  in
      (  
         select groupid from groupuser where userid=?  --当前用户ID 
       ) 
    )