WITH V_DOCID AS
(
SELECT b.doc_id id
FROM tb_oa_doc_base b
join tb_oa_doc_recv c
on b.doc_id = c.doc_id
where b.flow_status <> 0
and ((c.sec_level = 4 and is_pub = 1) or
b.doc_id in (select doc_id
from TB_OA_DOC_RECV_PER a
where 1=1
and a.is_readed = 1))
or b.doc_id in (select w2.doc_id
from (select row_number() over(partition by w1.doc_id, w1.applay_id order by w1.doc_id, w1.applay_id) row_num,
w1.doc_id,
w1.applay_id
from (select t1.doc_id, t.applay_id
from tb_wf_proc_log t
join TB_OA_DOC_REF_PROC t1
on t.processinst_id = t1.proinstid) w1) w2
where w2.row_num = 1 )
)
select * from V_DOCID
-------------------------
2.两个with
--[9, 9, 133000, 133000]
with Month as
(select max(ItemCode),
max(ItemName),
t.QUOTA_ID,
max(CLEAR_DATE),
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 0, sum(v.PAY_MONEY))),
0) as zf_money,
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 2, sum(v.PAY_MONEY))),
0) as gz_money,
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 1, sum(v.PAY_MONEY))),
0) as qt_money,
(select sum(a.plan_sum)
from tb_plan_info a
where a.QUOTA_ID = v.QUOTA_ID
and a.is_cancel = 0
and v.PAYTYPE_ID = 3
and extract(month from ORDER_DATE) =9) as xd_money,
nvl(decode(v.PAYTYPE_ID, 3, sum(v.PAY_MONEY)), 0) as zc_money
from vw_tb_pay_info v, vw_tb_quota_info t
where extract(month from to_date(CLEAR_DATE, 'yyyy-mm-dd')) = 9
and v.QUOTA_ID = t.QUOTA_ID
and v.PAYTYPE_ID != 5
and v.AGENCY_CODE ='133000'
and v.IS_CANCEL = 0
and v.IS_CLEAR = 1
group by t.QUOTA_ID, v.QUOTA_ID, v.PAYKIND_ID, v.PAYTYPE_ID),
YEAR AS
(select max(ItemCode) ItemCode,
max(ItemName) ItemName,
t.QUOTA_ID QUOTA_ID1,
max(CLEAR_DATE) CLEAR_DATE1,
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 0, sum(v.PAY_MONEY))),
0) as zf_money1,
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 2, sum(v.PAY_MONEY))),
0) as gz_money1,
nvl(decode(v.PAYTYPE_ID,
2,
decode(v.PAYKIND_ID, 1, sum(v.PAY_MONEY))),
0) as qt_money1,
nvl(decode(v.PAYTYPE_ID, 3, max(t.COLLECT_SUM)), 0) as xd_money1,
nvl(decode(v.PAYTYPE_ID, 3, sum(v.PAY_MONEY)), 0) as zc_money1,
nvl(decode(v.PAYTYPE_ID, 3, max(t.AVAILMONEY)), 0) as AVAILMONEY1
from vw_tb_pay_info v, vw_tb_quota_info t
where v.QUOTA_ID = t.QUOTA_ID
and v.PAYTYPE_ID != 5
and v.AGENCY_CODE = '133000'
and v.IS_CANCEL = 0
and v.IS_CLEAR = 1
group by t.QUOTA_ID, v.QUOTA_ID, v.PAYKIND_ID, v.PAYTYPE_ID)
SELECT rownum row_num, MONTH.*, YEAR.*
FROM MONTH, YEAR
where MONTH.quota_id = YEAR.quota_id1
相关推荐
在某些Oracle版本中,特定用户可能无权使用WITH GRANT OPTION。这通常需要管理员干预,以授予适当的权限。 ### ORA-01778: 超出最大子查询的嵌套层 当子查询的嵌套层数超过限制时,会触发此错误。优化查询逻辑,...
- **原因**:可能是由于试图向具有唯一索引或唯一约束的列中插入重复值。 - **解决方案**: - 检查要插入的数据是否符合表的定义。 - 如果有必要,删除或更新导致冲突的行。 - 确认数据的正确性和完整性后再...
WITH READ ONLY :默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不...
ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...
在Oracle数据库中,`UPDATE NOWAIT` 是一个用于事务处理的关键字,它允许你更新一行数据,但在数据被其他事务锁定时,它不会等待而是立即返回一个错误信息。这个特性对于处理多线程并发和确保数据一致性至关重要。...
- 视图的 `SELECT` 语句中没有 `DISTINCT` 关键字。 **选项分析**: - **A. CREATE VIEW v3 AS SELECT * FROM SALES WHERE cust_id=2034 WITH CHECK OPTION;** - 此视图可以执行 DML 操作,因为它仅仅过滤了特定的...
此外,还可以通过其他方式来管理权限,比如使用`WITH GRANT OPTION`关键字,这样被授予的用户不仅可以创建视图,还可以将这个权限进一步授予其他用户。或者,可以使用`DENY`语句撤销特定权限,以确保数据库的安全性...
如果试图在基础表不存在时创建视图,会报错,除非使用特定选项(如Oracle中的`CREATE OR REPLACE VIEW ... AS SELECT ...`)。 4. **查询视图**: - 使用视图查询数据库就像查询普通表一样,使用`SELECT`语句即可...
3. 条件表达式和流程控制:包括STARTING WITH、EXISTS、ANY和ALL等关键字的使用,它们可以在SQL查询中引入复杂的条件逻辑。 4. 数据操作:介绍如何使用INSERT、UPDATE和DELETE语句来对数据库中的数据进行增加、修改...
Q0034 给定了一些创建数据库试图的SQL语句问什么条件下才可以对试图执行修改,增加,删除操作 特别强调了WITH CHECK OPTION这个约束的含义,使用,产生的不同结果。参考Oracle 视图的基本知识,单个表上的视图,多...
答案: 6.0 版中做了一些服务程序的改进,包括支持套件模型线程以使服务程序的比例范围更佳,并使其在 Active Server Page 和 Transaction Server 中的运行更平滑。类型库的改进使 Visual Basic 等应用程序可以在命令...