我在寻找积累的总子在父
虽然我能够得到孩子总可以任何一个协助为相同的以下是
| 代码|父母子女|期限_贷款_总计1|
| - -|- -|- -|
| 小行星40100|:农业|所需值11565000|
| | 40110:作物生产||
| | 40120:家禽和家畜|小行星11565000|
| | 40130:钓鱼||
| | 40140:种植园||
| | 第40150章:不一样||
| | 40160:经济作物||
| 小行星40200|:采矿及采石||
下面是我的SQL查询
select cdd, prnt, chld, term_loan_total1
from (SELECT x.mis_code cdd,
CASE
WHEN x.mis_code LIKE '%00' THEN
to_char(lpad(nvl(x.mis_code, 0), 5, ':') || ' : ' ||
x.code_desc)
END prnt,
CASE
WHEN x.mis_code NOT LIKE '%00' THEN
to_char(lpad(nvl(x.mis_code, 0), 5, ':') || ' : ' ||
x.code_desc)
END chld,
(select sum(ct.amount_disbursed)
from cltb_account_master ct
left join mitm_customer_default mic
on ct.customer_id = mic.customer
left join gltm_mis_code msc
on mic.cust_mis_2 = msc.mis_code
where ct.product_code not in ('SBAD')
and msc.mis_code = x.mis_code) term_loan_total1
FROM gltm_mis_code x
WHERE mis_class in ('CBN_SUBS', 'CBN_SECT')
group by x.mis_code, x.code_desc
order by x.mis_code)
group by cdd, prnt, chld, term_loan_total1
order by cdd
为两个表附加CRUD脚本
--创建表创建表CLTTBL(account_number VARCHAR 2(35),amount_dispensed NUMBER)表空间测试pctfree 10个初始化事务1个最大事务255个存储(初始64 K,下一个1 M最小扩展区1个最大扩展区无限制);
提示导入表clttbl...设置反馈抵销设置定义抵销插入到clttbl(ACCOUNT_NUMBER,AMOUNT_DISBURSED)值('001 SBTL 221390016',100000);
在clttbl(账户_编号,已支付金额)中插入值('001 SBTL 221500006',85000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221430007',100000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221390011',100000)中;
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221390012',100000);
在clttbl(账户_数量,已支付金额)中插入值('001 SBTL 221500003',80000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221430004',100000);
在clttbl(账户_编号,已支付金额)中插入值('001 SBTL 221390003',10000000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221430003',80000)中;
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221390010',100000);
插入到clttbl(账户_数量,已支付金额)值('001 SBTL 221390019',85000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221430002',50000);
在clttbl(账户_编号,已支付金额)中插入值('001 SBTL 221400002',100000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221390004',100000)中;
插入clttbl(账户_编号,已支付金额)值('001 SBTL 221390017',100000);
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221390018',100000)中;
插入到clttbl(账户_编号,已支付金额)值('001 SBTL 221430006',100000);
在clttbl(账户_数量,已支付金额)中插入值('001 SBTL 221400001',85000);
在clttbl(账户_编号,已支付金额)中插入值('000 SBTL 222130004',10000000);
在clttbl(账户_编号,已支付金额)中插入值('000 SBTL 221390001',5000000);
在clttbl(账户_编号,已支付金额)中插入值('000 SBTL 221390003',10000000);
在clttbl(账户_编号,已支付金额)中插入值('000 SBTL 221390007',10000000);
在clttbl(账户_编号,已支付金额)中插入值('000 SBTL 222130003',5000000);
提示完成。
MIS表格插入
创建表gltm_mis_cd(PRNT VARCHAR 2(35),CHLD VARCHAR 2(35),CODE_DESC VARCHAR 2(35),)表空间测试pctfree 10个初始化事务1个最大事务255个存储空间(初始64 K,接下来的1 M个最小扩展区1个最大扩展区不受限制);
提示导入表格gltm_mis_cd...设置反馈偏移设置定义偏移插入到gltm_mis_cd(PRNT,CHLD,CODE_DESC)值('40100:农业',空,'农业');
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空值,'40110:作物生产》、《作物生产》);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空值,'40120:家禽和家畜“、”家禽和家畜“);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40130:渔捞“、”渔捞“);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40140:种植园“、”种植园“);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空值,'40150:农业服务“、”农业服务“);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40160:经济作物“、”经济作物“);
插入到gltm_mis_cd(打印、CHLD、代码描述)值中(“40200:采矿和采石',null,'采矿和采石');
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40210:金属:锡、铁等“、”金属:锡、铁等);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40220:“非金属采石”、“非金属采石”);
插入到gltm_mis_cd(打印机、CHLD、代码描述)值(空,'40230:其他“、”其他“);
提示完成。
parent Total
1条答案
按热度按时间j0pj023g1#
在这个问题中,有很多东西没有给予正确的答案,但是(对于所有其他表和它们之间的链接),您可能只需要CASE表达式就可以解决问题。下面只是您可以使用它的许多方法中的一个示例。
有关CASE表达式的更多信息,示例位于https://www.oracletutorial.com/oracle-basics/oracle-case/
为了完成你的工作,你应该添加你自己的表和连接,以及调整WHERE,GROUP BY和ORDER BY子句。最重要的是编写你自己的CASE表达式。在这个例子中,我使用固定值,因为没有来自你其他表的样本数据。希望你可以得到一点推动在正确的方向上通过这个...
测试结果
| CDD编码|打印|儿童|期限_贷款_总计_1|
| - -|- -|- -|- -|
| 小行星40100| 40100:农业||小行星11565000|
| 小行星40110| |40110:作物生产||
| 小行星40120| |40120:家禽和家畜|小行星11565000|
| 小行星40130| |40130:钓鱼||
| 小行星40140| |40140:种植园||
| 小行星40150||第40150章:不一样||
| 小行星40160| |40160:经济作物||
此致。