SELECT IMA.PK_SEQ_ITEM_MATERIAL_IMA AS ID_IMS,
(SELECT LTRIM(MAX(SYS_CONNECT_BY_PATH(VLR_CARACTERISTICA_ITEM_CIT,
', '))
KEEP(DENSE_RANK LAST ORDER BY curr),
', ') AS COLUNA
FROM (SELECT CIT.*,
ROW_NUMBER() OVER(PARTITION BY CIT.FK_SEQ_ITEM_MATERIAL_IMA ORDER BY CIT.FK_SEQ_ITEM_MATERIAL_IMA) AS curr,
ROW_NUMBER() OVER(PARTITION BY CIT.FK_SEQ_ITEM_MATERIAL_IMA ORDER BY CIT.FK_SEQ_ITEM_MATERIAL_IMA) - 1 AS prev
FROM ADM_GESTAOMATERIAL.TB_CARACTERISTICA_ITEM_CIT CIT
LEFT JOIN ADM_GESTAOMATERIAL.TB_MATERIAL_CARACTERISTICA_MCA MCA ON MCA.PK_SEQ_MAT_CARACTERISTICA_MCA =
CIT.FK_SEQ_MAT_CARACTERISTICA_MCA
LEFT JOIN ADM_GESTAOMATERIAL.TB_CARACTERISTICA_CAR CAR ON CAR.PK_SEQ_CARACTERISTICA_CAR =
MCA.FK_SEQ_CARACTERISTICA_CAR
WHERE MCA.DSC_STATUS_MCA = 'A'
AND CIT.FK_SEQ_ITEM_MATERIAL_IMA = 15)
GROUP BY FK_SEQ_ITEM_MATERIAL_IMA
CONNECT BY prev = PRIOR curr
AND FK_SEQ_ITEM_MATERIAL_IMA = PRIOR FK_SEQ_ITEM_MATERIAL_IMA
START WITH curr = 1) AS DSC_IMS
FROM ADM_GESTAOMATERIAL.TB_ITEM_MATERIAL_IMA IMA
WHERE IMA.DSC_STATUS_IMA = 'A'
GROUP BY IMA.PK_SEQ_ITEM_MATERIAL_IMA
pessoal estou precisando de uma ajuda para fazer esse SQL :oops:
na linha 15 onde ele esta comparando CIT.FK_SEQ_ITEM_MATERIAL_IMA = 15 eu queria comparar com o IMA.PK_SEQ_ITEM_MATERIAL_IMA que eh um campo do select exterior … oracle esta retornando um erro quando eu tento trocar 15 por IMA.PK_SEQ_ITEM_MATERIAL_IMA. dizendo que esse identificador nao existe.
deu para entender? dentro do select interno estou querendo fazer uma comparacao com uma variavel mais externa, mas ele me diz que o indentificador nao existe