select purpose_code, max(attr_name) attr_list from
(
select purpose_code, SUBSTR(SYS_CONNECT_BY_PATH(privacy_attribute_name,', '),2) attr_name, level
from
(
select d.purpose_code, e.privacy_attribute_name, ROWNUM RNUM, LAG(ROWNUM,1) OVER (PARTITION BY
d.purpose_code ORDER BY d.purpose_code) as CONNECT_ID
from fnd_purpose_attributes d, fnd_privacy_attributes_vl e
where d.privacy_attribute_code = e.privacy_attribute_code
--and d.purpose_code = 'TELE_SALES'
)
start with connect_id is null
connect by prior rnum = connect_id
)
group by purpose_code
SELECT PURPOSE_CODE
, MAX(ATTR_NAME) ATTR_LIST FROM
(
SELECT PURPOSE_CODE
, SUBSTR(SYS_CONNECT_BY_PATH(PRIVACY_ATTRIBUTE_NAME
, '
, ')
, 2) ATTR_NAME
, LEVEL
FROM
(
SELECT D.PURPOSE_CODE
, E.PRIVACY_ATTRIBUTE_NAME
, ROWNUM RNUM
, LAG(ROWNUM
, 1) OVER (PARTITION BY
D.PURPOSE_CODE ORDER BY D.PURPOSE_CODE) AS CONNECT_ID
FROM FND_PURPOSE_ATTRIBUTES D
, FND_PRIVACY_ATTRIBUTES_VL E
WHERE D.PRIVACY_ATTRIBUTE_CODE = E.PRIVACY_ATTRIBUTE_CODE
--AND D.PURPOSE_CODE = 'TELE_SALES'
)
START WITH CONNECT_ID IS NULL
CONNECT BY PRIOR RNUM = CONNECT_ID
)
GROUP BY PURPOSE_CODE
|
|
|