Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie füge ich den XML-Datentyp in einer GROUP BY-Klausel hinzu?

Sie können die Aggregation in einem CTE vornehmen und dann diesem beitreten

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