自从换了公司上班就很少会有时间上网! 主要原因是太忙了! 最近由于工作需要! 一直都在忙于SQL! 现把一些资料记下来!以方便日后复习!

今天公司有这样一个场景! 有如下两张表:  

专利表(OFF_PANT_APP)
ID 主键
APP_NAME 专利名称


专利申请人列表(OFF_APP_APPLICANTS)
ID 主键
PANT_ID 专利ID
USER_ID 用户ID
DISPLAY_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