Oracle面试题 求解答

发布网友 发布时间:2022-04-23 14:58

我来回答

4个回答

热心网友 时间:2022-04-08 10:11

8. 汇总统计收款总金额(CHARGE_TOTAL)按各收费员(CHARGE_MAN)分别汇总,结果如下所示:
CHARGE_MAN C1
0006 3065.66
测试61 144153
李世民 85

SQL:select CHARGE_MAN,sum(CHARGE_TOTAL) as C1 from rcs_znj_2007 order by CHARGE_MAN

9. 按照DISP_ORDER升序显示CHAR_LIST表数据内容
SQL:select * from char_list order by DISP_ORDER

10. 按照ADJ_TYPE(减免类别)升序,显示RCS_ZNJ_2007表所有内容,其中ADJ_TYPE字段须转换成对应的中文字符(CHAR_LIST.LIST_STRING)。(两表关联查询)
SQL: select ID,METERNO,
(select LIST_STRING from CHAR_LIST where LIST_CHAR = ADJ_TYPE) as ADJ_NAME,
CHARGE_DATE,
CHARGE_TOTAL,CHARGE_MAN
from RCS_ZNJ_2007 order by ADJ_TYPE

11. 根据CHAR_LIST表内容,将RCS_ZNJ_2007表中ADJ_TYPE字段值全部更新成对应的中文字符(CHAR_LIST.LIST_STRING)。
SQL: update RCS_ZNJ_2007 set ADJ_TYPE = (select LIST_STRING from CHAR_LIST where LIST_CHAR = ADJ_TYPE)

热心网友 时间:2022-04-08 11:29

8、
select CHARGE_MAN,sum(nvl(CHARGE_TOTAL,0)) C1
from rcs_znj_2007
group by CHARGE_MAN

9、
select * from char_list order by DISP_ORDER asc

10、
select t1.ID, t1.METERNO, t2.LIST_STRING, t1.CHARGE_DATE, t1.CHARGE_TOTAL, t1.CHARGE_MAN
from rcs_znj_2007 t1, char_list t2
where t1.ADJ_TYPE=t2.LIST_CHAR
order by t1.ADJ_TYPE asc

11、
因为不知道你的表rcs_znj_2007的字段ADJ_TYPE是否为varchar2类型没有,若是int类型的话,则得先更改表结构才能进行update(若已是varchar2类型且长度已经够的话则不用更改):

--更改表结构:
alter table rcs_znj_2007 modify ADJ_TYPE varchar2(20)--长度及类型要与char_list表中的字段LIST_STRING相同

--进行关联更新表数据:
update rcs_znj_2007 t1
set t1.ADJ_TYPE=(select LIST_STRING from char_list where LIST_CHAR=t1.ADJ_TYPE)
where exists (select 1 from char_list where LIST_CHAR=t1.ADJ_TYPE)

热心网友 时间:2022-04-08 13:03

vinson_shen完全回答了,很准确

热心网友 时间:2022-04-08 14:55

trukey 完全正确

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com