У меня есть этот запрос:
SELECT
HICNo
,trr.CUS_ID
,TRRRunDate
,trr.LastName
,trr.FirstName
,trr.TRCCode
,trr.TRCDescr
,trr.TCCode
,trr.TRREffDate
,PBPID
,PriorPBPID
,LISLevel
,[LIS%]
,LISEffDate
,CONVERT (CHAR,INE_EV_DT,101) AS EventDate
,INE_USER_ID AS UserID
,tcl.TCL_TYPE_DESC AS [Description]
FROM
#AM_TRR_INS trr
JOIN ETLStaging.dbo.INS_INSURED ins ON trr.CUS_ID = ins.INS_CUS_ID
JOIN ETLStaging.dbo.INE_INSURED_EV ine ON ins.INS_ID = INE.INE_INS_ID
JOIN ETLStaging.dbo.TCL_TYPE_CD_LOOKUP tcl ON
ine.INE_TYPE = tcl.TCL_TYPE_CODE
AND tcl.TCL_ID = '12'
UNION
(
SELECT
HICNo
,trr.CUS_ID
,TRRRunDate
,trr.LastName
,trr.FirstName
,trr.TRCCode
,trr.TRCDescr
,trr.TCCode
,trr.TRREffDate
,PBPID
,PriorPBPID
,LISLevel
,[LIS%]
,LISEffDate
,CONVERT (CHAR,INA_PRC_DT,101) AS EventDate
,ina.INA_USER_ID AS UserID
,tcla.TCL_TYPE_DESC AS [Description]
FROM
#AM_TRR_INS trr
JOIN ETLStaging.dbo.INS_INSURED ins ON trr.CUS_ID = ins.INS_CUS_ID
JOIN ETLStaging.dbo.INA_INSURED_AUD ina ON ins.INS_ID= ina.INA_INS_ID
JOIN ETLStaging.dbo.TCL_TYPE_CD_LOOKUP tcla ON
ina.INA_TYPE = tcla.TCL_TYPE_CODE
AND tcla.TCL_ID = '12'
)
Это возвращает такой набор результатов
9876543A 123456789 13/02/2011
ФАМИЛИЯ ИМЯ 011 Заявка принята как отправленная 61 01/03/2011 002 NULL 04/02/2011 MARKW APPLICATION 9876543A 1234567IR89 13/02/2011 Заявка принята 61 FASTNAME1 LASTNAME 01.03.2011 002 NULL 08.02.2011 MARKW NEW ID CARD 9876543A 123456789 13.02.2011
ФАМИЛИЯ ИМЯ 011 Регистрация принята как представленная 61 01.03.2011 002 NULL 08.02.2011 MCATIONSB473 INFORMATION CMS 9876543A 123456789 13.02.2011
ФАМИЛИЯ ИМЯ 011 Регистрация принята как отправленная 61 01.03.2011 002 NULL 08.02.2011 MCSB475 ОТВЕТ ПОЛУЧЕН ОТ CMS
Я пытаюсь свести результаты к одной строке, где столбцы EventDate, UserID и Description разделены запятыми, а результаты помещаются в одну строку и просто используют GROUP BY, чтобы сгладить все. Я застрял - использование XML PATH и COALESCE не работает так, как я надеялся...