Chinaunix

标题: 求助一个SQL语句 [打印本页]

作者: xmayi    时间: 2008-01-17 11:14
标题: 求助一个SQL语句
有表A 有字段cl1,cl2,cl3,cl4,cl5,cl6....   其中cl1,cl2,cl3,cl4为主键值
表B有字段cl1,cl2,cl3,cl4,cl50,cl51....  其中cl1,cl2,cl3,cl4为主键值

表A和表B是分别通过不同途径获得的数据,表A必然包含表B
现在想找出差异,就是说表A比表B多的数据.

请会的朋友指点,先谢过了!
作者: ivhb    时间: 2008-01-17 11:21
select *
from A
where  cl1 || '$' || cl2 || '$' || cl3 || '$' || cl4
not in (
select  cl1 || '$' || cl2 || '$' || cl3 || '$' || cl4
from B
)
作者: ivhb    时间: 2008-01-17 11:23
如果你的database是ansi模式的,并且informix版本在9.4以上,
可以用
select
   A.*
from A left join B
on A.cl1 = B.cl1
and A.cl2 = B.cl2
and A.cl3 = B.cl3
and A.cl4 = B.cl4
where B.cl1 is null
作者: xmayi    时间: 2008-01-22 00:27
高手就是高手,很轻松就解决了,而我试了半天了。
多谢了!
作者: wuicpp    时间: 2008-01-24 13:40
,学习。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2