您可以在CTE中进行汇总,然后加入该汇总中
WITH Children(Cnt, ParentId) AS (SELECt COUNT(*), ParentId FROM dbo.Post GROUP BY ParentId)SELECt P.PostId, P.[Body], ISNULL(Cnt, 0) AS CntFROM dbo.Post P LEFT JOIN Children ON Children.ParentId = P.PostIdORDER BY P.PostId

您可以在CTE中进行汇总,然后加入该汇总中
WITH Children(Cnt, ParentId) AS (SELECt COUNT(*), ParentId FROM dbo.Post GROUP BY ParentId)SELECt P.PostId, P.[Body], ISNULL(Cnt, 0) AS CntFROM dbo.Post P LEFT JOIN Children ON Children.ParentId = P.PostIdORDER BY P.PostId