Grouped string aggregation / LISTAGG for SQL Server

前端 未结 2 552
暖寄归人
暖寄归人 2020-11-29 06:46

I\'m sure this has been asked but I can\'t quite find the right search terms.

Given a schema like this:

| CarMakeID | CarMake
----------------------         


        
2条回答
  •  星月不相逢
    2020-11-29 07:17

    If it is SQL Server 2017 or SQL Server VNext, Azure SQL database you can use String_agg as below:

    SELECT  make.CarMakeId, make.CarMake, 
            CarModels = string_agg(model.CarModel, ', ') 
    FROM CarModels model
        INNER JOIN CarMakes make 
        ON model.CarMakeId = make.CarMakeId
    GROUP BY make.CarMakeId, make.CarMake
    

    Output:

    +-----------+-----------+---------------------------+
    | CarMakeId |  CarMake  |         CarModels         |
    +-----------+-----------+---------------------------+
    |         1 | SuperCars | Zoom, Wow, Awesome        |
    |         2 | MehCars   | Mediocrity, YoureSettling |
    +-----------+-----------+---------------------------+
    

提交回复
热议问题