我确定这已被问到,但我无法完全找到正确的搜索关键字。针对SQL Server的分组字符串聚合/ LISTAGG
给出模式是这样的:
| CarMakeID | CarMake
------------------------
| 1 | SuperCars
| 2 | MehCars
| CarMakeID | CarModelID | CarModel
-----------------------------------------
| 1 | 1 | Zoom
| 2 | 1 | Wow
| 3 | 1 | Awesome
| 4 | 2 | Mediocrity
| 5 | 2 | YoureSettling
我想产生这样的数据集:
| CarMakeID | CarMake | CarModels
---------------------------------------------
| 1 | SuperCars | Zoom, Wow, Awesome
| 2 | MehCars | Mediocrity, YoureSettling
我该怎么办到位“AGG”的字符串在SQL Server中的以下样式查询?
SELECT *,
(SELECT AGG(CarModel)
FROM CarModels model
WHERE model.CarMakeID = make.CarMakeID
GROUP BY make.CarMakeID) as CarMakes
FROM CarMakes make
哇非平凡。 – 2010-07-30 06:02:18
该文章需要更新 - CLR用于SQL Server 2005. 2008支持聚合函数中的多个参数,因此您可以重新创建MySQL的GROUP_CONCAT参数。 – 2010-07-30 06:22:22
@OMG小马:你能解释一下吗?不太清楚你的意思... – gbn 2011-09-22 10:38:56