一张表里字段是 month ,B ,C ,D;没有主键
要检索month 为 5 ,B 为 1的数据 。条件是 month 为 5,B 为 1的C , D 字段 和 month 为 6 B = 1的 C , D字段都不同( T1.C <>T2.c,T1.D<>T2.D),并且(难的~~)只要month 为 5,B 为 1的某条数据的C , D字段 等于 month 为 6,B 为 1的某条数据的C , D字段时,就算 month 为 5,B 为 1的此条数据的C , D字段 不等于 month 为 6,B 为 1的其他某条数据时,也不应检索出来。这个sql或者存储过程怎么写啊,拜托各位了
要检索month 为 5 ,B 为 1的数据 。条件是 month 为 5,B 为 1的C , D 字段 和 month 为 6 B = 1的 C , D字段都不同( T1.C <>T2.c,T1.D<>T2.D),并且(难的~~)只要month 为 5,B 为 1的某条数据的C , D字段 等于 month 为 6,B 为 1的某条数据的C , D字段时,就算 month 为 5,B 为 1的此条数据的C , D字段 不等于 month 为 6,B 为 1的其他某条数据时,也不应检索出来。这个sql或者存储过程怎么写啊,拜托各位了
where m.month=5 and m.b=1
and not exists
(select 1 from t1 t where t.month=6 and t.b=1
and t.c<>m.c and t.d<>m.d)
举例子吧:
month |B |C |D |
5 1 a b ...①
5 1 a c ...②
6 1 a b ...③
6 1 a d ...④我应该检索出5月的数据是②;因为虽然①和④得C字段或D字段不同,但①和③的C字段和D字段相同,那么就不能被检索出来
不知道描述清楚了没
一定要sql做么,最好还是应用做吧。或者是procedure来做。
把sql贴出来,一起看看。