日期:2014-05-20  浏览次数:20673 次

高手进 绝对具有挑战性的问题没挑战性我出去
开门见山 

Java code

现在有3张表 


A表user
{
    id,username,userpassword,truename,email
}


B表group 
{ 
    id,groupname,groupdescription,groupdomain 
} 

C表groupuser 
{ 
    userid,groupid 
} 
没有用外键,可能是sql语句定义它的 

现在我的需求就是 
根据他的group组进行查询他的user用户 

但用户登录是根据他的user用户去查询他所在组里所有的成员 

 

这年头就剩12分了,郁闷当初怎么散分了 吃了回扣的大虾马上帮帮忙[/code]

------解决方案--------------------
没有用外键,可能是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?))

------解决方案--------------------
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 =?

打完收工!我没吃回扣!