0

I'm having a hard time changing the below query to Postgresql. Please help. Trying to use Postgresql's crosstab doesn't make sense.

WITH temp AS (
SELECT
TRTR.SHEET_DATA_ROW_ID
,TRTD.TEMPL_SHEET_COL_ID
,TRTD.COLUMN_VAL
,TRTR.ROW_NUM
FROM ESBTRTS TRTS
INNER JOIN ESBTRTR TRTR
ON TRTS.SYS_ID         = TRTR.SYS_ID
AND TRTS.TEMPL_ID       = TRTR.TEMPL_ID
AND TRTS.TEMPL_SHEET_ID = TRTR.TEMPL_SHEET_ID
LEFT OUTER JOIN ESBTRTD TRTD
ON TRTR.SYS_ID            = TRTD.SYS_ID
AND TRTR.TEMPL_ID          = TRTD.TEMPL_ID
AND TRTR.TEMPL_SHEET_ID    = TRTD.TEMPL_SHEET_ID
AND TRTR.SHEET_DATA_ROW_ID = TRTD.SHEET_DATA_ROW_ID
WHERE TRTS.TEMPL_ID          = '73f9f4e1-62a5-43aa-9594-7bc3b3028fd0'
AND TRTS.TEMPL_SHEET_ID    = 'cf4958c8-73b7-4331-b8af-3268af9746f4'
AND TRTD.TEMPL_SHEET_COL_ID = 'c5e87e72f-b131-4f3a-8b4e-3c5fe97f7c70'
)
SELECT *
FROM temp
PIVOT ( max(COLUMN_VAL) FOR TEMPL_SHEET_COL_ID IN
(  
'c5e87e72f-b131-4f3a-8b4e-3c5fe97f7c70' AS "c5e87e72f-b131-4f3a-8b4e-3c5fe97f7c70"
,
'c9a3d7e4b-cbfe-4c69-abdb-323c8d57d8d5' AS "c9a3d7e4b-cbfe-4c69-abdb-323c8d57d8d5"
,
'cd31310a6-2267-464e-9776-4f2fc407190a' AS "cd31310a6-2267-464e-9776-4f2fc407190a"
)
)
ORDER BY ROW_NUM

Currently, Pivot cannot be used in Postgresql, so the result is expected by the method in Postgresql.

GILHOSHIN
  • 1
  • 1
  • 1
    [Crosstab questions](https://stackoverflow.com/search?q=%5Bpostgresql%5D+and+%28%5Bpivot%5D+or+%5Bcrosstab%5D%29) –  Nov 02 '22 at 07:28

0 Answers0