表二结构 (表名:B2)
字段:A B C .....其它字段(与表一不同了)
现在我想找出表二中所有满足以下条件的记录:
如果B2.A=B1.A但B2.B的值却不在B1.B值中;
如果B2.A=B1.A且B2.B=B1.B值,但B2.C的值又不在B1.C中
不知道行不?
...全文
5416打赏收藏
我的分分不多了,却又不知道这条查询语句怎么写啊!!
有两个表: 表一结构 (表名:B1) 字段:A B C .....其它字段 表一中的数据是已经设置好了的不再变了的 表二结构 (表名:B2) 字段:A B C .....其它字段(与表一不同了) 现在我想找出表二中所有满足以下条件的记录: 如果B2.A=B1.A但B2.B的值却不在B1.B值中; 如果B2.A=B1.A且B2.B=B1.B值,但B2.C的值又不在B1.C中 不知道行不?
cqnucsmoon同志,分析你的要求,你想B2.A=B1.A但B2.B的值却不在B1.B值中,B2.A=B1.A且B2.B=B1.B值,这两个条件连起来就是B2.A=B1.A 不管B2.B和B1.B是否相等。所以你可以
select a,b,(select c from b1,b2 where b2.b=b1.b and b1.c<>b2.c) as c ....
from b2
select * from b2 where b2.a=b1.a and b2.b not in(select b1.b from b1)
select * from b2 where b2.a=b1.a and b2.b=b1.b and b2.c not in(select b1.c from b1)
select * from b1,b2 where (b1.a=b2.a and b2.b not in (select b1.b from b1))
union
select * from b1,b2 where (b1.a=b2.a and b2.b=b1.b and b2.c not in(select b1.c from b1))
如果1:select * from b2 where b2.a=b1.a and b2.b not in(select * from b1)
如果2:select * from b2 where b2.a=b1.a and b2.b=b1.b and b2.c not in(select * from b1)