table1 id     name
       01     湖北
       0101   武汉
       0102   黄石
table2 id     name
       01     张三table3 nameid    dqid1   dqid2
       01         01      0101现在想用select查询出下面的结果
  张三    湖北   武汉请问下SQL怎么写啊?
       

解决方案 »

  1.   

    select
    (select table2.name from table2 where table3.nameid = table2.id),
    (select table1.name from table1 where table3.dqid1 = table1.id),
    (select table1.name from table1 where table3.dqid2 = table1.id)
    from table3;
      

  2.   


    select t2.name,t1a.name,t1b.name
    from table3 t3
    left join table2 t2 on t3.id=t2.nameid
    left join table1 t1a on t3.dqid1=t1a.id
    left join table1 t1b on t3.dqid2=t1b.id;
      

  3.   

    t1a.name,t1b.name
    这个什么意思啊?