select * from table 
where id1=id2 and e>f  
你说的那个什么 a b 的 不知道什么意思 说一个例子

解决方案 »

  1.   

    SELECT  DISTINCT id1, id2
    FROM table
    WHERE id1 = id2 AND e > f
      

  2.   

    你们都搞错了!我讲的是id1的值相同,id2的值都相同的不同数据之间的判断。
    如:
    列  id1   id2    e    f
         1     2    84    78
         2     1    13    27
         1     2    76    63
         1     1    23    48
         1     3    42    27
         1     3    32    16
         2     1    41    25 
         3     2    24    12
         1     3    92    42要求查询结果为:
         id1   id2
          1     2
          1     3
          3     2解析:
    因为id1=1 and id2=2的两行数据都是e>f
    因为id1=1 and id2=3的三行数据都是e>f
    因为id1=3 and id2=2的一行数据是e>f
      

  3.   

    解析:
    因为id1=1 and id2=2的两行数据都是e>f
    因为id1=1 and id2=3的三行数据都是e>f
    因为id1=3 and id2=2的一行数据是e>f
    都符合要求!而id1=2 and id2=1的两行数据一个是e>f,一个是e<f,
      id1=1 and id2=1的一行数据是e<f,
    所有不符合要求!