select distinct a,b,c,d from tb1,tb2 where tb1.id=tb2.id;

解决方案 »

  1.   

    不是很明白你的意思。多表之间通过条件关联,你使用distinct就可以过滤掉重复的数据。如果使用UNION ALL,你可以改用UNION来去掉重复数据。
      

  2.   

    假设有两个表: 表1  表2
    我查表1的字段1和表2的字段1,符合条件的各有两条记录,分别为:
    表1.字段1:A  和  B
    表2.字段2:C  和  D
    这样不管怎么查询,结果集都是:A  C
    A  D
    B  C
    B  D这里,A、B、C、D各出现了两次!如果符合条件的记录一多,这个重复将更大。
      

  3.   

    我看没有重复 :)A  C
    A  D
    B  C
    B  D这是两条记录的笛卡儿积,你使用的是交叉连接。如果你改用内连接或者外连接都可以大大缩小结果集。
      

  4.   

    假设有两个表: 表1  表2
    我查表1的字段1和表2的字段1,符合条件的各有两条记录,分别为:
    表1.字段1:A  和  B
    表2.字段2:C  和  D
    这样不管怎么查询,结果集都是:A  C
    A  D
    B  C
    B  D------------------
    你想要的结果是什么?