반응형
두 개의 열이 있는 LISTAGG 함수
이런 테이블이 하나 있습니다(리포트)
--------------------------------------------------
| user_id | Department | Position | Record_id |
--------------------------------------------------
| 1 | Science | Professor | 1001 |
| 1 | Maths | | 1002 |
| 1 | History | Teacher | 1003 |
| 2 | Science | Professor | 1004 |
| 2 | Chemistry | Assistant | 1005 |
--------------------------------------------------
저는 다음과 같은 결과를 원합니다.
---------------------------------------------------------
| user_id | Department+Position |
---------------------------------------------------------
| 1 | Science,Professor;Maths, ; History,Teacher |
| 2 | Science, Professor; Chemistry, Assistant |
---------------------------------------------------------
즉, 결과 표에서 볼 수 있듯이 빈 공간을 '로 보존해야 합니다.이제 LISTAGG 함수를 사용하는 방법을 알고 있지만 한 열에 대해서만 사용할 수 있습니다.하지만 동시에 두 개의 열에 대해 어떻게 해야 하는지 정확히 알 수가 없습니다.제 질문은 다음과 같습니다.
SELECT user_id, LISTAGG(department, ';') WITHIN GROUP (ORDER BY record_id)
FROM report
잘 부탁드립니다 :-)
이를 위해서는 집계 내에서 연결을 현명하게 사용해야 합니다.
select user_id
, listagg(department || ',' || coalesce(position, ' '), '; ')
within group ( order by record_id )
from report
group by user_id
즉, 다음의 농도를 집계합니다.department
쉼표와 함께position
및 대체position
NULL인 경우 공백이 있어야 합니다.
언급URL : https://stackoverflow.com/questions/13876802/listagg-function-with-two-columns
반응형
'programing' 카테고리의 다른 글
TypeScript npm 모듈에서 유형을 내보내는 방법 (0) | 2023.06.19 |
---|---|
문자열 Python에서 a: 앞에 모든 것을 가져오려면 어떻게 해야 합니까? (0) | 2023.06.19 |
Mongoose는 array.length가 0보다 큰 모든 문서를 찾고 데이터를 정렬합니다. (0) | 2023.06.19 |
virtualenv 폴더를 중단하지 않고 이름 바꾸기 (0) | 2023.06.14 |
소방서:문서 배열의 항목별 쿼리 (0) | 2023.06.14 |