sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo agregar el tipo de datos XML en una cláusula GROUP BY?

Puede hacer la agregación en un CTE y luego unirse a eso

WITH Children(Cnt, ParentId)
     AS (SELECT COUNT(*),
                ParentId
         FROM   dbo.Post
         GROUP  BY ParentId)
SELECT P.PostId,
       P.[Body],
       ISNULL(Cnt, 0) AS Cnt
FROM   dbo.Post P
       LEFT JOIN Children /*To include childless posts*/
         ON Children.ParentId = P.PostId
ORDER  BY P.PostId