以下是一些示例记录
ID(UniqueIdentifier) UserId title description version parentid
8362AB94-946F-4092-97C2-ABD957CC2E20 3 title desc 0 0
C4E3FCC1-49B5-4310-931F-B8EE48B3F38E 3 title2 desc2 0 1 8362AB94-946F-4092-97C2-ABD957CC2E20
C622113B-C6E6-4ED1-B727-E4F864643CD2 3 title3 desc3 0 2 8362AB94-946F-4092-97C2-ABD957CC2E20
记录表示文本数据的分层编辑。例如,在保存对 ParentBoard 的编辑时,会创建一个新条目并使用增量版本号,即1
,2
(这一切都发生在应用程序上)。这里感兴趣的列是
ID - Unique Identifier
ParentId - NVARCHAR(50)
我正在尝试如下构建一个xml
<Edits>
<Id>314BA459-3749-4BC1-8AA4-E72B882539F5</Id>
<Title>Parent Title</Title>
<Description>Parent Description</Description>
<Version>0</Version>
<ParentId></ParentId>
<SubBoardCount>2</SubBoardCount>
</Edits>
询问
SELECT
Id 'Id',
Title 'Title',
[Description] 'Description',
Version 'Version',
ParentId 'ParentId',
(select COUNT(*) WHERE ParentId = (CAST(Id AS NVARCHAR(50)))) 'SubBoardCount',
FROM Edits
WHERE ParentId IS NULL OR ParentId = ''
FOR XML PATH('Edits')
问题
为什么我总是最终得到SubBoardCount as 0
而不是 2?