行转列问题

zzxiaoma 2013-08-04 10:25:21
有一个字段存储的是某个表的id值用逗号拼接的,如12345,23456。
我想查那个表的id在这里面是否存在。
举个例子表a是
id name
12 dddd
13 cccc
。。。。

表b
id aid
1 14,1234
2 15,2345
3 12,23
4 1,23
5 123,43
能够查出来表b的第三行中的aid在表a是存在的结果
id aid
3 12,23
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgetsam 2013-08-05
  • 打赏
  • 举报
回复
select id,regexp_substr(aid,'[^,]+',1,n) from b ,(select level n from dual connect by level<= 2 ) where regexp_substr(aid,'[^,]+',1,n) is not null
善若止水 2013-08-04
  • 打赏
  • 举报
回复
我现在不能提供具体的思路,我仅仅有一个想法,表b中的aid必须拆开,然后用exists函数和表a关联就好了

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧