3个表, 人员表  , 部门表  , 群组表 人员 对应 部门 1 |  n
人员 对应 群组 1 |  n  人员也可以没有群组现在要做一个公共的弹出页 要求 可按 部门名称  群组名称 查询出人员  我采用子查询方式
select t.*,
       (select d.dept_name
          from dept d, dept_member d1
         where d.dept_id = d1.dept_id
           and d1.member_id = t.member_id
) as dept_name,
       (select g.group_name
          from t_group g,t_group_member g1
         where g.group_id = g1.group_id
           and g1.member_id = t.member_id
) as group_name
  from t_enterprise_member t
但这样不行 ,因为是一对多  应该怎么查询 ?  

解决方案 »

  1.   

    select deptid,userid,groupid
    from dept
    join user on user.ueserid = deptid.userid
    join group on group.userid= user.userid前台现实的时候再对数据现实格式进行处理就行了。!不知道我看懂你的题目没有,呵呵!
      

  2.   

    我很菜不会把数据从表导出来 , 不好意思啊 这个项目我有点不知道如何展示了  , 人员对应群组 n |  n
    人员对应部门 n |  n现在要 按照   群组名称  人员名称  部门名称 进行查询该如何查询 ? 如何展示 ?  我弄糊涂了 。
      

  3.   

    看不懂。建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。