sql链接两张表,  
第一张表:表名OA_QQ_Message_Reciver: 字段MsgID,Sender,Reciver;  
  
第二张表:表名tzsysuser:字段Autoid,truename;  问题:这两张表中,接收者reciver表,有Sender,Reciver字段,存的是代码,比如1096和1078;第二张表tzsysuser是代码和实际人名truename的转换表,一个字段Autoid存的是代码,比如1096,对应的truename字段存的实际人名,比如1096对应的人名刘瑞,我怎么连接呢?我现在的目的是在读取数据库的时候,取出来的是实际的人名,在一个页面上,既显示sender又显示reciver,我晕菜了! 
如果结果有多条MsgId一样的记录,请问如何合并?

解决方案 »

  1.   

    Select A.*,B.* from A inner join B on A.MsgID=B.MsgID
      

  2.   


    --这样可以MsgID相同的只取一条 不知道是不是lz想要的
    select distinct MsgID,
    (select max(truename) from tzsysuser where Autoid = R.Sender) AS Sender,
    (select max(truename) from tzsysuser where Autoid = R.Reciver) AS Reciver
    from OA_QQ_Message_Reciver R
      

  3.   

    试试这样写:
    select a.msgid msgid,a.truename sender,b.truename reciver from (select d.msgid,d.sender,c.truename from OA_QQ_Message_Reciver d inner join tzsysuser c on d.sender = c.autoid) a inner join (select e.msgid,e.reciver,f.truename from  OA_QQ_Message_Reciver e inner join tzsysuser f on e.Reciver = f.autoid) b on a.msgid = b.msgid