예제도 거의 1개짜리가 많아서 잘 못하겠네요...
매출, 작업명 뽑아내야되는데
이름 1월작업명 1월매출 2월작업명 2월매출 3월작업명 3월매출
홍길동 오늘a 3000 2월의작업 4000 2월의작업 4000
그니까 매출만 뽑아내면 예제가 많이 있떤데 위처럼 2개(작업명, 매출)를 뽑는 에제는 못찾아서 잘안되네요...
궁금합니다!
그런 것을 cross table 또는 pivot 테이블이라고 합니다.
그 쿼리 결과를 다시 테이블에 저장할 것이라면, 피봇 쿼리를 작성해야하고,
그냥 text 파일로 저장할 것이라면, psql 내장 명령어 가운데, \crosstabview 명령어를 제공합니다.
그것으로 처리할 수도 있습니다.
쿼리인 경우는 각 월별 쿼리를 union all 로 묶고, 그것을 inline view로 사용해서 그 월별 만큼 셀프 조인을 해서 풉니다.
자세한 것은 postgresql pivot 같은 검색어로 인터넷 검색 사이트에서 찾아보면 예제가 많습니다. 그것을 참조하세요.
SELECT 이름 , MIN(CASE 월 WHEN '01' THEN 작업 END) 작업_01 , SUM(CASE 월 WHEN '01' THEN 매출 END) 매출_01 , MIN(CASE 월 WHEN '02' THEN 작업 END) 작업_02 , SUM(CASE 월 WHEN '02' THEN 매출 END) 매출_02 , MIN(CASE 월 WHEN '03' THEN 작업 END) 작업_03 , SUM(CASE 월 WHEN '03' THEN 매출 END) 매출_03 FROM t GROUP BY 이름 ;