请各位大侠支招怎么查询,下面是一个简单的模型:
表contract:
    cid,
    departAId,对应depart中的id
    departBId,对应depart中的id
    departCId,对应depart中的id
表milestone:
    mid,
    cId,对应contract中的id
    name,
表depart:
    did,
    name现在想要实现这样的查询:select mid,name,departAId,departBId,departCId from contract,milestone where cId=cid;
要将上述SQL中的departId分别替换成对应的name.怎么查???

解决方案 »

  1.   

    select mid,name,departAId,departBId,departCId ,d1.name,d2.name,d3.name
    from contract,milestone,depart d1,depart d2,depart d3 where cId=cid and departAId=d1.did and departBId=d2.did and departCId=d3.did
      

  2.   

    select c.mid,c.name,d1.name as deptA,d2.name as deptB,d3.name as deptC
    from  contract c inner join milestone m on c.cid=m.cId
    inner join depart d1 on c.departAId=d1.did
    inner join depart d2 on c.departBId=d2.did
    inner join depart d3 on c.departCId=d3.did