select .... from tableA A, tableB B, tableC C where (A.b=0 and A.field1=B.field1) or (A.b=1 and A.field2=C.field2)

解决方案 »

  1.   

    非常感谢 
     klan(因帅被判7年),zjcxc(邹建) 
    对我的帮助
    请接分 
      

  2.   

    如klan(因帅被判7年) 所写的话
    在b=1, A与B联时, 会因为c表的影响导致数据重复
    同样b=0, a与c联时, 也会因为a的影响重复SELECT *
    FROM tableA A
    INNER JOIN tableB B ON B.field = A.field
    WHERE A.b = 0UNIONSELECT *
    FROM tableA A
    INNER JOIN tableC C ON C.field = A.field
    WHERE A.b = 1