比如有张表,里面有字段A,B,C,现在想查询条件是同时满足条件1(A=a1 and B=b1)和条件2(A=a2 and C=c1)的记录
问题解决了,用left join,整条查询语句是:
select * from tab t1 left join tab t2 on t1.ID = t2.ID where (t1.A = a1 and t1.B = b1) and (t2.A = a2 and t2.C = c1)
这样不对,比如满足条件1的有50条,满足条件2的有100条,而我想查的同时满足条件1和条件2,这样的记录只有不到50条,而你这样用or的话,查出来是满足条件1或满足条件2,会超过100条记录的
追答同时满足??
你的A可以在等于a1的同时也等于a2?
应该这么说,记录集里存在多条重复的记录(对某个字段来说),这些记录有些只满足条件1,有些只满足条件2,有些是同时满足两个条件的,我想找出同时满足条件1和条件2的那些记录,而只满足其中一个条件的记录就不统计。