"现在我想在表tb1找出tb1.Fa<>tb2.Fa,tb1.Fb<>tb2.Fb,tb1.Fc<>tb2.Fc所有记录" 什么意思? A 找出表tb1中没在表tb2中出现的记录. B 找出表tb1中的满足如下条件的记录:该记录的Fa字段没有在tb2表中的fa列出现过,该记录的Fb字段没有在tb2表中的fb列出现过,该记录的Fc字段没有在tb2表中的fc列出现过, C 其他选A还是选B?
select tb1.* from tb1,tb2 where tb1.Fa<>tb2.Fa or tb1.Fb<>tb2.Fb or tb1.Fc<>tb2.Fc
bugchen888,你的写法不是俺想要的。
select * from tb1 where not exists(select 1 from tb2 where Fa=tb1.Fa or Fb=tb1.Fb or Fc=tb1.Fc)
vivianfdlpw() :"tb1的Fa+Fb+Fc组合不等于tb2的Fa+Fb+Fc的组合"应该是这样写吧 select * from tb1 where not exists(select 1 from tb2 where Fa=tb1.Fa and Fb=tb1.Fb and Fc=tb1.Fc)
什么意思?
A 找出表tb1中没在表tb2中出现的记录.
B 找出表tb1中的满足如下条件的记录:该记录的Fa字段没有在tb2表中的fa列出现过,该记录的Fb字段没有在tb2表中的fb列出现过,该记录的Fc字段没有在tb2表中的fc列出现过,
C 其他选A还是选B?
from tb1,tb2
where tb1.Fa<>tb2.Fa
or tb1.Fb<>tb2.Fb
or tb1.Fc<>tb2.Fc
where not exists(select 1 from tb2 where Fa=tb1.Fa or Fb=tb1.Fb or Fc=tb1.Fc)
where not exists(select 1 from tb2 where Fa=tb1.Fa and Fb=tb1.Fb and Fc=tb1.Fc)