Я нагнулся и набрал для вас (вместо вас) набор DDL и выборку данных.
SQL
-- DDL and sample data population, start
DECLARE @ENTETE TABLE (CIB_DECLARANT INT, Type_Fischier VARCHAR(30), numero_de_remise INT, date_declaration DATE);
INSERT INTO @ENTETE (CIB_DECLARANT, Type_Fischier, numero_de_remise, date_declaration)
VALUES (10057, 'DECLARATION_TCN', 1, '2019-12-03');
DECLARE @DECLARATION TABLE (siren_emetteur INT);
INSERT INTO @DECLARATION (siren_emetteur)
VALUES (12345);
DECLARE @CARATERISTIQUE_TITRE TABLE (type_mouvement CHAR(1), code_isin VARCHAR(30));
INSERT INTO @CARATERISTIQUE_TITRE (type_mouvement, code_isin)
VALUES ('C', 'fr12345');
DECLARE @MOUVEMENT_TITRE TABLE (type_mouvement CHAR(1), code_isin VARCHAR(30));
INSERT INTO @MOUVEMENT_TITRE (type_mouvement, code_isin)
VALUES ('C', 'fr400016');
DECLARE @ENCOURS TABLE (code_devise CHAR(3), montant_encours INT);
INSERT INTO @ENCOURS (code_devise, montant_encours)
VALUES ('EUR', 0);
-- DDL and sample data population, end
SELECT
(
SELECT *
FROM @ENTETE
FOR XML PATH('ENTETE'), TYPE
)
, (
SELECT *
, (
SELECT *
FROM @CARATERISTIQUE_TITRE
FOR XML PATH('CARATERISTIQUE_TITRE'), TYPE
)
, (
SELECT *
FROM @MOUVEMENT_TITRE
FOR XML PATH('MOUVEMENT_TITRE'), TYPE
)
, (
SELECT *
FROM @ENCOURS
FOR XML PATH('ENCOURS'), TYPE
)
FROM @DECLARATION
FOR XML PATH('DECLARATION'), TYPE
)
FOR XML PATH(''), TYPE, ROOT('TCN');
Вывод
<TCN>
<ENTETE>
<CIB_DECLARANT>10057</CIB_DECLARANT>
<Type_Fischier>DECLARATION_TCN</Type_Fischier>
<numero_de_remise>1</numero_de_remise>
<date_declaration>2019-12-03</date_declaration>
</ENTETE>
<DECLARATION>
<siren_emetteur>12345</siren_emetteur>
<CARATERISTIQUE_TITRE>
<type_mouvement>C</type_mouvement>
<code_isin>fr12345</code_isin>
</CARATERISTIQUE_TITRE>
<MOUVEMENT_TITRE>
<type_mouvement>C</type_mouvement>
<code_isin>fr400016</code_isin>
</MOUVEMENT_TITRE>
<ENCOURS>
<code_devise>EUR</code_devise>
<montant_encours>0</montant_encours>
</ENCOURS>
</DECLARATION>
</TCN>