Jef_Zhang 2016-03-25 01:09 采纳率: 0%
浏览 1504
已采纳

oracle行转列问题。纯SQL

oracle中有一张读者表(TableReader),里面有一列保存读者类型(ColReaderTypeIds),存的值是类似(1,2,3)这种,分别对应读者类型表(TableReaderType)中的类型(ReaderTypeId),1,类型1;2,类型2;3,类型3。是三行数据!读者可以有多个类型。TableReaderType中的数据不确定,所以不能用case when。我要在查询TableReader表中的ColReaderTypeIds的时候,将该列显示成名称,而不是ID,应该怎么做?意思就是,ColReaderTypeIds列存的是"1,2,3";显示出来后变成"类型1,类型2,类型3"

  • 写回答

2条回答

  • danielinbiti 2016-03-25 01:31
    关注
    类似下面这样
    select 读者名称,wm_sys.wm_concat (ReaderTypeId) from(
     select 读者名称,ReaderTypeId from TableReader,TableReaderType where instr(TableReader.ColReaderTypeIds,ReaderTypeId)>0
     ) group by 读者名称
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题