Oracle将列与逗号分隔值组合在一起

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle将列与逗号分隔值组合在一起相关的知识,希望对你有一定的参考价值。

我有一个表格,每行的值为“1,2,3,4,5,6,7”

ID Value
101  5,6,7
201  8,9,3
301  3,4,5

值列值是其他表B表B的外键

5 A
6 C
7 N

有什么方法可以在一个查询中将这两个表连接在一起吗?我想传递101并获得A C N值。

答案

如果您的模型如图所示,这样的话?

select a.id, listagg(new_value, ',') within group (order by new_value) new_value
  from a 
       inner join b 
               on ','||a.value||',' like '%,'|| b.value ||',%'
 group by a.id

http://www.sqlfiddle.com/#!4/74e46/1

以上是关于Oracle将列与逗号分隔值组合在一起的主要内容,如果未能解决你的问题,请参考以下文章