【问题标题】:Flatten Query Result Rows Into Columns with Comma Separted Values将查询结果行展平为具有逗号分隔值的列
【发布时间】:2011-07-16 04:22:30
【问题描述】:

我有这个问题:

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 02/13/2011
LASTNAME FIRSTNAME 011 报名接受为提交 61 03/01/2011 002 NULL 02/04/2011 MARKW 申请 9876543A 123456789 02/13/2011
LASTNAME FIRSTNAME 011 报名接受为提交 61 03/01/2011 002 NULL 02/08/2011 MARKW 新身份证 9876543A 123456789 02/13/2011
LASTNAME FIRSTNAME 011 报名接受为提交 61 03/01/2011 002 NULL 02/08/2011 MCSB473 信息 发送至 CMS 9876543A 123456789 02/13/2011
LASTNAME FIRSTNAME 011 报名接受为提交 61 03/01/2011 002 NULL 02/08/2011 MCSB475 收到回复 来自 CMS

我正在尝试将结果扁平化为一行,其中 EventDate、UserID 和 Description 列以逗号分隔,并且结果适合一行,并且仅使用 GROUP BY 来扁平化所有内容。我被困住了——使用 XML PATH 和 COALESCE 并没有像我希望的那样工作......

【问题讨论】:

标签: sql sql-server sql-server-2005 tsql pivot


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2021-07-02
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多