有两张表如下:
表1:字段1  字段2   字段3      表2:字段1  字段2
   a         1          2                      1       一
      b         1          1                      2       二
表1中的字段2,字段3的值与表2中的字段1关联
想查询如下结果:
  表1:字段1   字段2   字段3
      a        一     二
      b        一     一
SQL语句应如何写?试了用select 表1.字段1,表2.字段2,表2.字段2 from 表1 inner join 表2 on 表1.字段2=表2.字段1 or 表1.字段3=表2.字段1
结果却是:
  表1:字段1  字段2   字段3
     a        一     一
     b    二    二
     a        二    二
    
           

解决方案 »

  1.   

    select T1.字段1,(select T2.字段2 from 表2 T2 where T2.字段1=T1.字段2),
                    (select T2.字段2 from 表2 T3 where T3.字段1=T1.字段3)
    from  表1 T1
      

  2.   

    SELECT TABLE1.字段1, TABLE2_1.字段2, TABLE2.字段2 AS 字段3
    FROM TABLE1 LEFT OUTER JOIN
          TABLE2 ON TABLE1.字段3 = TABLE2.字段1 LEFT OUTER JOIN
          TABLE2 TABLE2_1 ON TABLE1.字段2 = TABLE2_1.字段1呵呵,用SQL Server的视图一下就做出来了,想都不用想。