SELECT DISTINCT F1,F2,F3,F4 FROM T1
WHERE F1=F2
AND F3<>F4

解决方案 »

  1.   

    不是这个意思。是要:
    记录1的A=记录2的A
    记录1的B=记录2的B
    不是一条记录内部进行比较,可能要用到多行子查询。
    可是我不会了
      

  2.   

    这样说清楚一些。
    一共有5个符合键字K1,K2,K3,K4,K5;已知其中两个K1和K2。
    要把K1,K2,K3,K4(后两个未知),“彼此”一致的记录查询出来。
    因为K5不作要求,所有会查询出很多记录,要把这些记录中K1,K2,K3,K4作为一组去比较。
    把“组彼此”相同的记录,查询出来。
      

  3.   

    是不是这个意思?
    SELECT DISTINCT F1,F2,F3,F4 FROM T1,
    (SELECT DISTINCT F1,F2 FROM T1 WHERE F1=F2 AND F3<>F4) T2
    WHERE T1.F1=T2.F1 AND T1.F2=T2.F2
      

  4.   

    select * from t1
    where f2 in
    (select distict f2 from t1
    ) and f3<>f4
    gruop by f1
      

  5.   

    呵呵,刚才太急了,没有把问题说清楚,再说一遍吧,谢谢大家了。有一些小变化。现在F1-F4是4个键值,已知F1=1,F2=2;但是F3和F4不知道。现在要分别比较这七条记录的F1,F2,F3;也就是说1的F1和其余的6条的F1比较,2的F2和其余6条的F2比较,挑出其中F1,F2,F3相同的记录。
    请看例子:
    F1  F2   F3   F4
    --- --- ---   ---
    1    2   3     2       -----〉1
    1    2   3     3       -----〉2   
    1    2   3     4       -----〉3
    1    2   4     5       -----〉4
    1    3   4     6       -----〉5
    2    1   5     2       -----〉6
    2    1   5     3       -----〉7
    在这个例子里面,前3条是符合条件的。关键是这3条的F3也必须是相等的。
    这个查询怎么写啊?
      

  6.   

    SELECT A.* FROM
    T1 A,T1 B
    WHERE A.F1 = B.F1
    AND A.F2 = B.F2
    AND A.F3 = B.F3
    AND A.F4 != B.F4
      

  7.   

    支持Croatia(Croatia),他的方法可以了