自從換了公司上班就很少會有時間上網! 主要原因是太忙了! 最近由於工作需要! 一直都在忙於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