表A
字段  A   B   C   D
值    3   5   7   9表B
字段  ID   NAME
值    3    CCC
值    4    DDD
值    5    EEE
值    6    FFF那么,我想读A表的时候把字段A,B,C,D在B表中对映的NAME字段取出来
各位大虾能否有高效的SQL,望不吝赐教。

解决方案 »

  1.   

    SELECT * FROM A LEFT JOIN B B1 ON A.A=B1.ID
    LEFT JOIN B B2 ON A.B=B2.ID
    LEFT JOIN B B3 ON A.C=B3.ID
    LEFT JOIN B B4 ON A.D=B4.ID
      

  2.   

    在B表ID上建立索引SELECT * FROM A LEFT JOIN B B1 ON A.A=B1.ID and a.字段=b1.字段
    LEFT JOIN B B2 ON A.B=B2.ID and a.字段=b2.字段
    LEFT JOIN B B3 ON A.C=B3.ID and a.字段=b3.字段
    LEFT JOIN B B4 ON A.D=B4.ID and a.字段=b4.字段
      

  3.   

    SELECT t1.*,ta.name,tb.name,tc.name,td.name FROM A t1 
    LEFT JOIN B ta ON t1.A=ta.ID 
    LEFT JOIN B tb ON t1.B=tb.ID 
    LEFT JOIN B tc ON t1.C=tc.ID 
    LEFT JOIN B td ON t1.D=td.ID