【发布时间】:2020-02-16 22:28:38
【问题描述】:
我有桌子
OWNER TABLE_NAME COLUMN_NAME ATTRIBUTE_ID
------- ------- ------- -------
USER CC_CASES X_OIB 0
USER CC_CASES X_OIB_2 0
USER CC_CASES X_JMBG 1
USER CC_CASES X_JMBG_2 1
USER CC_CASES FIRST_NAME 2
USER CC_CASES FIRST_NAME_2 2
USER CC_CASES LAST_NAME 3
USER CC_CASES LAST_NAME_2 3
SUBSCRIBER CC_CONTACT X_OIB 0
SUBSCRIBER CC_CONTACT X_MB_OIB 0
SUBSCRIBER CC_CONTACT X_JMBG 1
SUBSCRIBER CC_CONTACT X_X_JMBG_2 1
SUBSCRIBER CC_CONTACT FIRST_NAME 2
SUBSCRIBER CC_CONTACT LAST_NAME 3
我正在尝试转置它以将每个不同的 ID 放在不同的列中,并按表名和用逗号分隔的列名对其进行分组。
我需要这样的输出:
OWNER TABLE_NAME OIB_COL JMBG_COL FIRST_NAME_COL LAST_NAME_COL
------- ------- ------- ------- ------- -------
USER CC_CASES X_OIB,X_OIB_2 X_JMBG,X_JMBG_2 FIRST_NAME,FIRST_NAME_2 LAST_NAME,LAST_NAME_2
CC_CASES CC_CONTACT X_OIB,X_MB_OIB X_JMBG,X_X_JMBG_2 FIRST_NAME LAST_NAME
我有大约 8 个不同的 id。我尝试使用 PIVOT 功能。我也尝试了一个 LISTAGG 函数,但我无法得到我想要的结果。
【问题讨论】: