How to generate below like XML based on such query?
SELECT
t1.Code,
(SELECT
CASE
WHEN t1.Type = 5 THEN
(SELECT top 1
t2.CodeName
FROM dbo.Table2 t2
WHERE t2.Id = t4.Id
FOR XML PATH('Code'), TYPE)
ELSE
(SELECT
t3.CodeName
FROM dbo.Table3 t3
WHERE t3.Id = t4.Id
FOR XML PATH('Code'), TYPE)
END
FROM dbo.Table4 t4
WHERE t4.Id = t1.Id
FOR XML PATH('CodeNames'), TYPE)
FROM dbo.Table1 t1 WITH (NOLOCK)
FOR XML RAW ('Table1Child'), TYPE, ROOT('Table1Root')
Expected output
<Table1Root>
<Table1Child Code="ABC">
<CodeNames>
<Code Name="A1" />
<Code Name="B2" />
<Code Name="C3" />
</CodeNames>
</Table1Child>
<Table1Child Code="DEF">
<CodeNames>
<Code Name="D4" />
<Code Name="E5" />
<Code Name="F6" />
</CodeNames>
</Table1Child>
</Table1Root>