2011-03-15 44 views
1

我有这个疑问:平展查询结果行到与逗号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不工作如何我希望......

+1

相关:http://stackoverflow.com/questions/2046037/sql-server-can-i-comma-delimit-multiple-rows-into-one-column – 2011-03-15 22:20:27

+0

发布所需的输出,包括格式。例如它会在单个列中使用{eventdate,userid,description; eventdate,userid,description; ...}吗? – RichardTheKiwi 2011-03-15 22:21:12

回答