Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come aggiungere il tipo di dati XML in una clausola GROUP BY?

Puoi eseguire l'aggregazione in un CTE, quindi unirti a quello

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