自从换了公司上班就很少会有时间上网! 主要原因是太忙了! 最近由于工作需要! 一直都在忙于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_IDSFROM (SELECT OAA.PANT_ID, WM_CONCAT(OAA.USER_ID) OVER( PARTITION BY OAA.PANT_ID ORDER BY OAA.DISPLAY_INDEX ASC ) AS USER_IDSFROM OFF_APP_APPLICANTS OAA ) GROUP PANT_ID