主表结构
zid  int 
id1 int
id2 int
id3 int字段id1 id2 id3 应和从表字段cid 关联 而得到name字段值从表结构
cid int
name varchar有3条记录
1 aaa
2 bbb
3 ccc主表中有一条记录
zid 123
id1 1
id2 2
id3 3现在要求如何使用一个sql语句,同时得到主表这条记录关联到从表的name值 即结果为:aaa  bbb  ccc??????

解决方案 »

  1.   

    SELECT b.* FROM 主表 a LEFT JION 从表 b on b.cid=a.cid
      

  2.   

    谢谢 赤脚 可能是我表达米有清楚:
    比如从表中数据:
    cid      name3 王开正
    4 何凤琼
    5 黄荣忠
    6 王南华
    7 赵华 而主表中有几个id都对应从表中的cid比如主表一条记录zid  ...... id1    id2    id3
    123  ......  2      3      7我现在要的是通过查询主表某条记录并关联从表得到: zid  ...... id1    id2    id3   id1name   id2name   id3name
    123  ......  2      3      7    王开正     何凤琼   赵华
      

  3.   

    “主表这条记录关联到从表的name值”select C.name 
    from  从表 C
    where C.cid in (select id1,id2,id3 from 主表 where zid=123)
      

  4.   

    大大:
    通过查询主表关联从表得到结果
    zid  ...... id1    id2    id3   id1name   id2name   id3name
    123  ......  2      3      7    王开正     何凤琼   赵华你的sql估计不能达到要求
      

  5.   

    select a.* ,
           (case b.cid when a.id1 then b.name end  ) as id1name ,
           (case b.cid when a.id2 then b.name end  ) as id2name ,
           (case b.cid when a.id3 then b.name end  ) as id3name 
           from a ,b where b.cid in (select id1 from a union select id2 from a union select id3 from a)
      

  6.   

    问题已经解决select a.*,b.name,c.name,d.name 
    from 主表 A,从表 b,从表 c,从表 d
    where a.id1=b.cid and a.id2=c.cid and a.id3=d.cid