当前位置: 代码迷 >> J2EE >> 绝对具有挑战性的有关问题没挑战性我出去
  详细解决方案

绝对具有挑战性的有关问题没挑战性我出去

热度:107   发布时间:2016-04-22 03:11:25.0
高手进 绝对具有挑战性的问题没挑战性我出去
开门见山 

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 =?

打完收工!我没吃回扣!
  相关解决方案