首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

一个字段里面含有两个信息,如何截取?求大神!

2012-04-14 
一个字段里面含有两个信息,怎么截取?求大神!!!在一个遗留的项目中,遇到一个棘手的问题,例如:表一 Book,里

一个字段里面含有两个信息,怎么截取?求大神!!!
在一个遗留的项目中,遇到一个棘手的问题,例如:表一 Book,里面有字段id,bookno,按常理来说里面存放的应该是一个bookno,但是现在有的数据里面存放了多个bookno,中间用空格隔开,bookno是按照一定格式来输入的!表二 tpi,里面有id,tpino,tpidesc。tpi表里面的tpino只有一个,且都是跟bookno里面的其中一个相对应的,通过什么方法让两张表关联起来得到对应的tpidesc???(备注:就是bookno字段里面有的数据是多个bookno,有的是一个,一个的都能顺利弄出来,多个bookno的就不好弄了)

[解决办法]
分隔bookno:

SQL code
select id, regexp_substr(bookno, '[^ ]+', 1, level) from Bookconnect by level < length(regexp_replace(bookno, '[^ ]+')) + 1
[解决办法]
请参考:
SQL code
select * from book t1inner join tpi t2on t2.tpino like '%' || t1.bookno || '%'or t1.bookno like '%' || t2.tpino || '%'
[解决办法]
探讨
在一个遗留的项目中,遇到一个棘手的问题,例如:表一 Book,里面有字段id,bookno,按常理来说里面存放的应该是一个bookno,但是现在有的数据里面存放了多个bookno,中间用空格隔开,bookno是按照一定格式来输入的!表二 tpi,里面有id,tpino,tpidesc。tpi表里面的tpino只有一个,且都是跟bookno里面的其中一个相对应的,通过什么方法让两张表关联起来得到对应的tpidesc???(备注:就是bookno字段里面有的数据是多个bookno,有的是一个,一个的都能顺利弄出来,多个bookno的就不好弄了)

热点排行