名站网址导航为大家提供关于数据库教程相关的教程网站知识。
1.建表oracle 层次化查询(行政区划三级级联)
复制具体相关代码 具体相关代码如下:,DM MC 230000 黑龙江省 230100 哈尔滨市 230101 市辖区 230102 道里区 232700 大兴安岭 230103 南岗区 230104 道外区 230108 平房区 230,复制具体相关代码 具体相关代码如下:,select t.dm,t.mc,case when substr(t.dm,3)='0000' then 1 when substr(t.dm,5)='00' then to_number(subs,复制具体相关代码 具体相关代码如下:,select level,dm,mc,sjbm from (select t.dm,t.mc,case when substr(t.dm,3)='0000' then 1 when substr(t.
复制具体相关代码 具体相关代码如下:
-- Create table
create table test
(
dm1 char(3),
dm2 char(3),
mc1 nvarchar2(20),
val nvarchar2(20)
)
2.填入数据如下:
DM1 DM2 MC1 VAL
101 1 c1 100
101 1 c2 80
101 1 c3 40
101 2 c1 30
101 2 c2 80
102 4 c1 9
102 6 c2 50
转换后数据显示如下:
DM1 DM2 c1 c2 c3
101 1 100 80 40
101 2 30 80
102 4 9
102 6 50
3.转换数据库语句:
复制具体相关代码 具体相关代码如下:
select dm1,dm2,sum(decode(mc1,'c1',val)) c1,sum(decode(mc1,'c2',val)) c2,sum(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2
复制具体相关代码 具体相关代码如下:
select dm1,dm2,max(decode(mc1,'c1',val)) c1,max(decode(mc1,'c2',val)) c2,max(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2
此外,横表转纵表亦可用与decode意义相似的case数据库语句实现,原理同该数据库语句,这里不再过多描述。
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。