龙_龙_ 2014-04-23 03:13 采纳率: 50%
浏览 3254
已采纳

一个ORACLE字段包含多个ID如何解决

表1:

+------------+--------------+-----------------+
| product_id | product_name | product_type_id |
+------------+--------------+-----------------+
| 1 | 产品A | 1,2 |
| 2 | 产品B | 2,3 |
+------------+--------------+-----------------+
表2:

+-----------------+-------------------+
| product_type_id | product_type_name |
+-----------------+-------------------+
| 1 | 类别1 |
| 2 | 类别2 |
| 3 | 类别3 |
+-----------------+-------------------+:

生成以下效果:

+------------+--------------+-----------------+
| product_id | product_name | type |
+------------+--------------+-----------------+
| 1 | 产品A | 类别1,类别2 |
| 2 | 产品B | 类别2,类别3 |
+------------+--------------+-----------------+

在网上查了都是关于mysql的语句如:select product_id,product_name,group_concat(product_type_name) as type from ab,ac where instr(ab.product_type_id,ac.product_type_id) group by product_id,product_name;

可是在oracle上不能用求大神帮忙呀!

  • 写回答

1条回答 默认 最新

  • R_engine 2014-06-15 04:53
    关注

    select product_id,product_name,listagg(product_type_name,',')
    within group(order by product_id,product_name) as "type"
    from table1,table2 group by product_id,product_name
    11g方可使用

    如果版本过低,使用wm_concact函数代替

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)