从零开始

在日常开发过程中,我们经常遇上一种情况,首次输入的时候,表格显示空值,当第二次输入的时候,我们就可以直接在表格里面修改数据,直接提交即可;
思路:
这里就需要一个临时表,首先将值数据给读取出来,如果没有则为空。如果有则加入到临时表中,最后读取临时表即可。

delete from Q1;
insert into Q1(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11)
select pp.ftargetnm 指标,aqt.fqseq FQSEQ,aqt.FPFID FPFID,aqt.ftargetno 指标代码,aqt.fpdcontet 评判内容
,aqt.fvalue 权重,aqt.fpdfactor 评价依据,aqt.fpdbase 评分原则,101 as fseq , '' as 结果与数量, '' as 得分
from pf_tbs_applyquantiz aqt,pf_tbc_pftbld pp
where aqt.ftargetno =pp.ftargetno
and aqt.ftargetno='3.2.1'
;
update Q1 set (C10,C11) =(select FRESULT,FSCORE
from pf_tbs_applyqVal a
where fseq=Q1.C9 and ftargetno=Q1.C4 and A.fqseq=Q1.C2)
;
select C1 指标,C2 FQSEQ,C3 FPFID,C4 指标代码,C5 评判内容
,C6 权重,C7 评价依据,C8 评分原则,C9 as fseq ,C10 as 结果与数量,C11 as 得分
from Q1;


接着,还有个就是一个id对应的某个字段有多个值,我们需要将值合并到同一个单元格上。
假设
一个fseq对应fdptnm有多的时候
fseq fdptnm
2 a/b/d
3 a/c/t


select xmlelement("root",xmlagg(xmlforest(xmlforest(
t.fseq, replace(WMSYS.WM_CONCAT(t.fdptnm),',','/') fdptnm
) TBL))).getclobval()
from pf_tbs_applydpt t
group by t.fseq;

这里主要是的WMSYS.WM_CONCAT分组排序函数的,绝对不能少了group by聚合函数的使用,否则会报错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值