我有这个疑问:平展查询结果行到与逗号Separted列中的值
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 2011年2月13日
姓氏名字011已接受报名61 03/01/2011 002 NULL 02/04/2011 MARKW APPLICATION 9876543A 123456789 02/13/2011
LASTNAME FIRSTNAME 011报名ment Accepted as 61 03/01/2011 002 NULL 02/08/2011 MARKW NEW ID CARD 9876543A 123456789 02/13/2011
LASTNAME FIRSTNAME 011招生录取接受为提交61 03/01/2011 002 NULL 02/08/2011 MCSB473信息 SENT TO CMS 9876543A 123456789 2011年2月13日
LASTNAME FIRSTNAME 011登记接受提交61 03/01/2011 002 NULL 02/08/2011 MCSB475收到答复 FROM CMS
我试图将结果扁平化到一行,其中EventDate,UserID和Descri ption列用逗号分隔,结果放在一行中,只是使用GROUP BY来压扁一切。我使用XML PATH stuck-和COALESCE不工作如何我希望......
相关:http://stackoverflow.com/questions/2046037/sql-server-can-i-comma-delimit-multiple-rows-into-one-column – 2011-03-15 22:20:27
发布所需的输出,包括格式。例如它会在单个列中使用{eventdate,userid,description; eventdate,userid,description; ...}吗? – RichardTheKiwi 2011-03-15 22:21:12