How to get multiple rows into one line as a string?

后端 未结 2 560
傲寒
傲寒 2020-12-13 21:47

I have two tables \"one to many\":

Table1

ID    Name
1     Abe
2     David
3     Orly

Table2

ID    email
1     a@zz         


        
2条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-13 21:57

    SELECT  *
    FROM    Table1 a
    CROSS APPLY --or OUTER APPLY
    (
        SELECT SUBSTRING(
            (SELECT ','+b.Email
            FROM    Table2 b
            WHERE   a.ID = b.ID
            FOR XML PATH(''))
            ,2
            ,4000) GroupConcat
    ) x
    

    Results:

    ID Name  GroupConcat
    -- ----- -----------------------------
    1  Abe   a@zz.com,ab@zz.com,abe@zz.com
    2  David dav@zz.com,d@zz.com
    3  Orly  orly@zz.com,o@zz.com
    

提交回复
热议问题