返回信息流请教sql语句,展示一个表
一个表中存的结构是(行号,列号,内容),怎么用SQL语句把里边的内容按它的行号和列号在指定的位置展现出来
比如,表是这样的: row_id col_id content
1 1 总公司
1 2 2008-01
1 3 期间
2 1 分公司
2 2 2008-02
2 3 统计
.........................................
显示的结果应是这样的: 总公司 2008-01 期间
分公司 2008-02 统计
.............................................
PS: 这里的行列数是不固定的.
这是一条镜像帖。来源:北邮人论坛 / database / #2053同步于 2008/3/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
请教sql语句的写法,展现一个表
pooh0111
2008/3/25镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
用什么展示?展示到哪儿?
【 在 pooh0111 (mimi) 的大作中提到: 】
: 请教sql语句,展示一个表
: 一个表中存的结构是(行号,列号,内容),怎么用SQL语句把里边的内容按它的行号和列号在指定的位置展现出来
: 比如,表是这样的: row_id col_id content
: ...................
【 在 pooh0111 的大作中提到: 】
: 请教sql语句,展示一个表
: 一个表中存的结构是(行号,列号,内容),怎么用SQL语句把里边的内容按它的行号和列号在指定的位置展现出来
: 比如,表是这样的: row_id col_id content
: ...................
把该表里的数据取出来存放在Map对象里头....然后用程序进行处理.....
Map:
key: row_id + '_' + col_id
value: content
PHP code:--------------------------------------------------------------------------------
SQL> with tt as (
2 select 1 row_id,1 col_id,'总公司' content from dual union all
3 select 1,2,'2008-01' from dual union all
4 select 1,3,'期间' from dual union all
5 select 1,4,'what' from dual union all
6 select 2,1,'分公司' from dual union all
7 select 2,2,'2008-02' from dual union all
8 select 2,3,'统计' from dual
9 )
10 select max(trim(sys_connect_by_path(content, ' '))) newcol
11 from tt
12 start with col_id = 1
13 connect by col_id = prior col_id + 1
14 and row_id = prior row_id
15 group by row_id
16 ;
NEWCOL
--------------------------------------------------------------------------------
总公司 2008-01 期间 what
分公司 2008-02 统计
SQL>