sql语句的疑问,字段为空时怎么处理
sql语句的疑问,字段为空时怎么处理,以下sql语句
select a.field1,a.field2 from a_table a
,b_table b
where a.field1 = b.field1
and a.field2 = b.field2
使用以上sql 语句的时候
当a.field1和b.field1都为空的时候不会被查询出来
请问该怎么改写上面的sql语句,才能查询得到a.field1和b.field1都为空和二者相等的结果。
谢谢
问题点数:20、回复次数:3Top
1 楼zqdshsy()回复于 2002-11-14 17:30:35 得分 0
可以通过为空检测建立连接,但是都为空时会出现多对多的连接。
比如:
a表
空
空
b表
空
空
空
如果查询 会出现6条记录Top
2 楼chooser(chooser)回复于 2002-11-14 17:32:00 得分 0
是的,ORACLE一大怪就是:a=b,not a=b 在两个值均为空时都不成立Top
3 楼chooser(chooser)回复于 2002-11-14 17:33:52 得分 20
解决方法:a=b or (a is null and b is null)
当然,()可以省略Top




