select a.*
from projinspect a
where a.deadline <=
(
select count(dt_time)
from (
select a.createtime + level - 1 dt_time
from dual
connect by level <= sysdate - a.createtime + 1
)
where to_char(dt_time,'d') not in ('1','7')
) and a.ishandle=0;好奇怪,在10g中没问题,到了11g数据库中就报a.createtime标识无效,,,
请问11g中应该怎么写
from projinspect a
where a.deadline <=
(
select count(dt_time)
from (
select a.createtime + level - 1 dt_time
from dual
connect by level <= sysdate - a.createtime + 1
)
where to_char(dt_time,'d') not in ('1','7')
) and a.ishandle=0;好奇怪,在10g中没问题,到了11g数据库中就报a.createtime标识无效,,,
请问11g中应该怎么写
from dual
connect by level <= sysdate - a.createtime + 1,然后才执行外部查询的,你在内部的子查询的时候根本就没有指定a表是哪个表,oracle当然找不到了,肯定会报错的。
11g没有环境。不知道行不行,但是楼主报错了 估计应该是版本问题。
这种写法也不常见,是不是oracle版本一高,底层变化了,原来凑巧支持的东西,不支持了 呵呵。。