Я создаю запрос на отправку массового приложения электронной почты для электронной почты всего, что ему нужно, чтобы собрать соответствующее письмо. Кажется, я не могу правильно вставить вложенные элементы.SQL XML Вложенные элементы
Я пытаюсь получить XML, который выглядит как
<EmailsToBeSent>
<EmailToBeSent>
<ReferenceId>1</ReferenceId>
<Tags>
<Tag>
<Name>ToAddress</Name>
<Value>[email protected]</Value>
</Tag>
<Tag>
<Name>CCAddress</Name>
<Value>[email protected]</Value>
</Tag>
<Tag>
<Name>FromAddress</Name>
<Value>[email protected]</Value>
</Tag>
</Tags>
<SomethingElse>'asASas'</SomethingElse>
</EmailToBeSent>
</EmailsToBeSent>
До сих пор ближе я получил это:
SELECT
ReferenceId,
(SELECT
'ToAddress' AS "Tag/Name",
ToAddress AS "Tag/Value",
'CCAddress' AS "Tag/Name",
CCAddress AS "Tag/Value",
'FromAddress' AS "Tag/Name",
FromAddress AS "Tag/Value"
FROM
EmailTable AS ET
WHERE
ET.ReferenceId = RT.ReferenceId
FOR XML PATH('Tags'), TYPE),
'asASas' AS SomethingElse
FROM
RefTable AS RT
FOR XML PATH('EmailToBeSent'), ROOT('EmailsToBeSent')
Какие результаты в:
<EmailsToBeSent>
<EmailToBeSent>
<ReferenceId>1</ReferenceId>
<Tags>
<Tag>
<Name>ToAddress</Name>
<Value>[email protected]</Value>
<Name>CCAddress</Name>
<Value>[email protected]</Value>
<Name>FromAddress</Name>
<Value>[email protected]</Value>
</Tag>
</Tags>
<SomethingElse>'asASas'</SomethingElse>
</EmailToBeSent>
</EmailsToBeSent>
Пожалуйста, создайте несколько #temp-таблиц, которые представляют ваши «EmailTable» и «RefTable», а также некоторые инструкции вставки с примерами данных. – granadaCoder