查询字段为空和条件同时成立 如果表1的id不为空则where 表1.id=表2.id and 另外条件,如果表1的id为空则where 另外条件;现在我并在一起:where 表2.id=isnull(表1.id,表2.id),查询不成功不知道问题出在哪里? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 where (case when 表1.id is null then 表1.id=表2.id else 1=1 end) -- 这样写就行啦:where t1.id=t2.id -- 此时不需要考虑空值:因为空值与空值相比较,为假(两个空值不相等)or ( t1.id is null and 其他条件);-- or 表示:并在一起 where 表2.id=isnull(表1.id,表2.id)应该是这样的。 where (case when 表1.id is not null then 表1.id=表2.id else 1=1 end) isnull是sql server的语法oracle的用nvl楼主可以把当“如果表1的id为空则where 另外条件”中的另外的条件也给出来大家可以给你更完整的答案 where 表2.id=nvl(表1.id,表2.id) 表1.idwhere (表1.id=表2.id) or (表1.id is null and ....)感觉你的完全就是外连接表1.id(+)=表2.id ORACLE内char的参数处理(connection.prepareStatement) 新手问题,关于视图 表空间扩展问题 求一个存储过程的写法 在线等!!谢谢了 准备面试,给点意见------散分了。 请问Oracle现在用的最多,最稳定的版本是哪个? Oracle的简单问题但很重要 高分请教!! 请教各位大侠 , 有谁知道哪里有Oracle SQL Command 优化的电子书或书籍 如何删除数据!! 采用什么方法使得SCO UNIX 5.05和ORACLE 8.0.6进行连接 迁移AWR数据 oracle exp怎样过滤不用的表
where t1.id=t2.id -- 此时不需要考虑空值:因为空值与空值相比较,为假(两个空值不相等)
or ( t1.id is null and 其他条件);-- or 表示:并在一起
应该是这样的。
where (case when 表1.id is not null then 表1.id=表2.id else 1=1 end)
oracle的用nvl楼主可以把当“如果表1的id为空则where 另外条件”中的另外的条件也给出来
大家可以给你更完整的答案
where (表1.id=表2.id) or (表1.id is null and ....)感觉你的完全就是外连接
表1.id(+)=表2.id