某业务系统用来实现资金进出的记录,业务系统的管理数据库的部分关系模式如下所示:
基础信息表(KMBM,KMMC,KMSX,CLX)
历史资金明细发生记录表(KMBM,YE)
近期资金明细发生记录表(ID1,ID2,KMBM,LRLC,FSE)
表一:
KMBM KMMC KMSX ZCLX
101 银行存款 银行存款 资产类
10101 北京存款 银行存款 资产类
10102 上海存款 银行存款 资产类
201 预收账款 预收账款 负债类
202 其他应付款 其他应付款 负债类
表二:
KMBM YE
101 100000000
10101 66000000
10102 34000000
201 0
202 100000000
表三:
ID ID2 KMBM LRLC FSE
1 1 101 + 50000
1 2 10102 + 500000
2 1 202 - 3200000
2 2 10101 - 3200000
表三中(LRLC字段等于“+”表示流入,等于“-”等于流出)【1-1】
请根据上述三个数据表的字段和数据记录反映出的结果,按照个人理解标示出各表的主外键信息。并说明理由
【1-2】
请通过编写一条SQL语句查询出表一中的KMBM字段值对应的最新余额信息,以不用的明细KMBM为单位进行统计,统计的结果中要包含表一中的所有字段信息和计算的最新余额。(最新余额=历史资金金额+近期资金流入-近期资金流出)
【1-3】
根据下面的查询结果,编写一条SQL语句实现输出结果同下面的查询结果KMBM KMMC YE
101 银行存款 96850000
201 预收账款 50000
202 其他应付款 96800000
基础信息表(KMBM,KMMC,KMSX,CLX)
历史资金明细发生记录表(KMBM,YE)
近期资金明细发生记录表(ID1,ID2,KMBM,LRLC,FSE)
表一:
KMBM KMMC KMSX ZCLX
101 银行存款 银行存款 资产类
10101 北京存款 银行存款 资产类
10102 上海存款 银行存款 资产类
201 预收账款 预收账款 负债类
202 其他应付款 其他应付款 负债类
表二:
KMBM YE
101 100000000
10101 66000000
10102 34000000
201 0
202 100000000
表三:
ID ID2 KMBM LRLC FSE
1 1 101 + 50000
1 2 10102 + 500000
2 1 202 - 3200000
2 2 10101 - 3200000
表三中(LRLC字段等于“+”表示流入,等于“-”等于流出)【1-1】
请根据上述三个数据表的字段和数据记录反映出的结果,按照个人理解标示出各表的主外键信息。并说明理由
【1-2】
请通过编写一条SQL语句查询出表一中的KMBM字段值对应的最新余额信息,以不用的明细KMBM为单位进行统计,统计的结果中要包含表一中的所有字段信息和计算的最新余额。(最新余额=历史资金金额+近期资金流入-近期资金流出)
【1-3】
根据下面的查询结果,编写一条SQL语句实现输出结果同下面的查询结果KMBM KMMC YE
101 银行存款 96850000
201 预收账款 50000
202 其他应付款 96800000
表一主键:KMBM
表二主键:KMBM,同时是表一KMBM的外键
表三主键:ID,ID21-2SQL> select * from table1;
KMBM KMMC KMSX ZCLX
---------- -------------------- -------------------- --------------------
101 银行存款 银行存款 资产类
10101 北京存款 银行存款 资产类
10102 上海存款 银行存款 资产类
201 预收账款 预收账款 负债类
202 其他应付款 其他应付款 负债类
SQL> select * from table2;
KMBM YE
---------- ----------
101 100000000
10101 66000000
10102 34000000
201 0
202 100000000
SQL> select * from table3;
ID ID2 KMBM LRLC FSE
---------- ---------- ---------- ---- ----------
1 1 101 + 50000
1 2 10102 + 500000
2 1 202 - 3200000
2 2 10101 - 3200000
SQL>
SQL> select a.*,nvl(b.最新余额,0) 最新余额
2 from table1 a,
3 (
4 select t1.KMBM,
5 case LRLC when '+' then ye+fse
6 when '-' then ye-fse
7 else null
8 end 最新余额
9 from table2 t1 left join table3 t3
10 on t1.kmbm=t3.kmbm
11 ) b
12 where a.kmbm=b.kmbm;
KMBM KMMC KMSX ZCLX 最新余额
---------- -------------------- -------------------- -------------------- ----------
101 银行存款 银行存款 资产类 100050000
10102 上海存款 银行存款 资产类 34500000
202 其他应付款 其他应付款 负债类 96800000
10101 北京存款 银行存款 资产类 62800000
201 预收账款 预收账款 负债类 0
1-3
看不出规律