在oracle 中,查询语句用 in 和 or 查询的结果条数不一样。or 的大于 in 的。 请问这是什么原因?
展开全部
先试试不要and a_devtestdt is null 这句、查看两段代码结果。
再试试下面
select dept from A
where (status='[D2]方案设计阶段' or status='[D2]方案审核中' or status ='[D2]开发中' or status='[D2]开发完成' or status='[D2]单元测试进行中')
and a_devtestdt is null
-----------------------
select dept from A
where status in('[D2]方案设计阶段','[D2]方案审核中','[D2]开发中','[D2]开发完成','[D2]单元测试进行中')
and a_devtestdt is null
一般有 OR 和 AND 同时出现的where 条件、最好加括号区分
再试试下面
select dept from A
where (status='[D2]方案设计阶段' or status='[D2]方案审核中' or status ='[D2]开发中' or status='[D2]开发完成' or status='[D2]单元测试进行中')
and a_devtestdt is null
-----------------------
select dept from A
where status in('[D2]方案设计阶段','[D2]方案审核中','[D2]开发中','[D2]开发完成','[D2]单元测试进行中')
and a_devtestdt is null
一般有 OR 和 AND 同时出现的where 条件、最好加括号区分
展开全部
如果你把or的条件用括号包裹起来,这样试试应该能看出问题来a and b or c和a and (b or c)是不一样的,后者等同于a and x in (b , c)
追问
还是不行啊!
select dept from A
where (status='[D2]方案设计阶段' or status='[D2]方案审核中') or (status ='[D2]开发中' or status='[D2]开发完成') or (status='[D2]单元测试进行中')
and a_devtestdt is null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把代码贴出来看看
追问
select dept from A
where status='[D2]方案设计阶段' or status='[D2]方案审核中' or status ='[D2]开发中' or status='[D2]开发完成' or status='[D2]单元测试进行中'
and a_devtestdt is null
-----------------------
select dept from A
where status in('[D2]方案设计阶段','[D2]方案审核中','[D2]开发中','[D2]开发完成','[D2]单元测试进行中')
and a_devtestdt is null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询