user --人员表
userid
namepersonalInfo --人员信息表
id
userid (对应USER表的userid)
personalCodecontract --劳动合同表
id
personalCode  (对应personalInfo表的personalCode)
statetransfer --工作交接
id
userid (对应USER表的userid)
process
reason
有以上4张表,是人员信息管理用的(关联不太合理)。
我要查询transfer表中的所有信息,并关联出transfer表对应记录的劳动合同 和 用户详情信息,及contract表中的state 和 user表中的name。
以transfer表为主表多表联合查询总是有重复值,请教该怎么解决。谢谢

解决方案 »

  1.   

    贴上你的sql语句  最好能添加几行数据  看看效果
      

  2.   

    select * from user u,transfer t,personalInfo p,contract  c 
    where u.userid=p.userid and t.userid=p.userid  and p.personalCode =c.personalCode 这不就出来了么,3张表都连起来了,如果上面出现重复值看你的应用程序设计得是什么样的
    通常情况下一个用户有一份劳动合同交接只交接一次
    如果一个用户有多分劳动合同的情况的话就会出现重复值