deles 发表于 2018-9-12 11:18:35

Oracle WM_CONCAT函数使用

  自从换了公司上班就很少会有时间上网! 主要原因是太忙了! 最近由于工作需要! 一直都在忙于SQL! 现把一些资料记下来!以方便日后复习!
  今天公司有这样一个场景! 有如下两张表:
专利表(OFF_PANT_APP)ID主键APP_NAME专利名称专利申请人列表(OFF_APP_APPLICANTS)ID主键PANT_ID专利IDUSER_ID用户IDDISPLAY_INDEX显示顺序  报表中有一小部份有这样一个要求:要求按照如下格式输出,并按照显示顺序进行排序
  专利ID                      专利申请人列表
  1111                      6666,888,999
  SQL代码如下:
SELECT  PANT_ID,
  MAX(USER_IDS) AS USER_IDS
  
FROM (
  
SELECT
  OAA.PANT_ID,
  WM_CONCAT(OAA.USER_ID) OVER( PARTITION BY OAA.PANT_ID ORDER BY OAA.DISPLAY_INDEX ASC ) AS USER_IDS
  
FROM OFF_APP_APPLICANTS OAA ) GROUP PANT_ID


页: [1]
查看完整版本: Oracle WM_CONCAT函数使用