I\'m migrating some SQL Server 2008R2 queries to Postgresql 9.0 and I have some trouble with it. Here\'s the SQL Server query:
stuff((select \', \'+p.[NAME]
You can replace it by String_agg for example SQL Server stored procedure:
STUFF((SELECT DISTINCT ', ' + CONVERT(VARCHAR,L.ROLE_SUB_CAT_ID)
FROM [PHS].[dbo].PHS_ADMIN_USER_ACCESS_DTL K,
[PHS].[dbo].[PHS_ADMIN_USER_ROLE_SUB_CAT_MST] L
WHERE L.ROLE_SUB_CAT_ID = K.ROLE_SUB_CAT_ID
AND K.UMC_ID = A.UMC_ID
AND K.CCR_ID = A.CCR_ID
FOR XML PATH('')), 1, 1, '') AS ROLE_SUB_CAT_ID
Convert it to postgresql like this:
string_agg((SELECT distinct ', ' || cast(L.ROLE_SUB_CAT_ID as VARCHAR) FROM PHS.dbo.PHS_ADMIN_USER_ACCESS_DTL K,
PHS.dbo.PHS_ADMIN_USER_ROLE_SUB_CAT_MST L
WHERE L.ROLE_SUB_CAT_ID = K.ROLE_SUB_CAT_ID AND K.UMC_ID = A.UMC_ID AND K.CCR_ID=A.CCR_ID
), 1, 1, '') AS ROLE_SUB_CAT_ID