我在做BI的时候,建立维度表的时候碰上这样一种情况:
pk code name
1 01 1
2 02 2
3 0101 3
4 0102 4
5 0201 5
要求查询完成后的表结构是:
pk code_lvl1 name_lvl1 code_lvl2 name_lvl2
1 01 1 0101 3
2 01 1 0102 4
3 02 2 0201 5
注:所以字段都按字符串处理就行
pk code name
1 01 1
2 02 2
3 0101 3
4 0102 4
5 0201 5
要求查询完成后的表结构是:
pk code_lvl1 name_lvl1 code_lvl2 name_lvl2
1 01 1 0101 3
2 01 1 0102 4
3 02 2 0201 5
注:所以字段都按字符串处理就行
解决方案 »
- 求救,oracle中执行"col column_name format a20" 命令后,查询该字段的值为“##########”,怎么解决,恢复的方法??
- 请问在AIX unix上怎么找到oracle的安装目录?
- oracle存储过程执行传入的sql语句
- 又有个难的sql 不会 在线等 急
- 请问这个sql怎么写
- 存储过程可以调用FTP上传文件吗?
- 怎样把B表字段a,b,c内容复制A表字段a,b,c呢?其中A表字段已有内容
- 这个问题似乎特殊了点,求大家帮我解决!
- 服务打不开
- 简单问题:如何使用DBA studio的数据导出,导入功能?
- 关于oracle安装问题
- 用户sys跟system有什么区别?sys的默认密码是admin吗?
如果下面还有第三、第四……怎么办?
注:每层的CODE用2位数字表示,十位补0
from table_name aa,table_name bb
where instr(bb.code,aa.code) = 1 and length(bb.code) > length(aa.code)
1 1 01 1
2 2 02 2
3 3 0101 3
4 4 0102 4
5 5 0201 5
select a.pk,a.code,a.name,b.pk,b.code,b.name
from
(select pk,code,name from test_t where length(code)=2) a,
(select pk,code,name,substr(code,1,2) pcode from test_t where length(code)=4) b
where a.code=b.pcode;1 1 01 1 3 0101 3
2 1 01 1 4 0102 4
3 2 02 2 5 0201 5