Вот несколько примеров записей
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?