Estoy intentando generar un resultado XML a partir de SQL y necesito usar una instrucción UNION y también nombrar la columna de salida.SQL UNION FOR XML name output column
tuve este trabajo antes de que yo no tenía necesidad de utilizar una instrucción UNION usando:
select(
SELECT
[CompanyName],
[Address1],
[Address2],
[Address3],
[Town],
[County],
[Postcode],
[Tel],
[Fax],
[Email],
[LocMap]
FROM [UserAccs] FOR XML PATH ('AccountDetails'), root ('Root')
) as XmlOutput
que nombró la columna XML de salida como XmlOutput
Ahora estoy tratando:
select(
SELECT
[CompanyName],
[Address1],
[Address2],
[Address3],
[Town],
[County],
[Postcode],
[Tel],
[Fax],
[Email],
[LocMap]
FROM [UserAccs]
UNION
SELECT
[CompanyName],
[Address1],
[Address2],
[Address3],
[Town],
[County],
[Postcode],
[Tel],
[Fax],
[Email],
[LocMap]
FROM [UserAppAccs]
FOR XML PATH ('AccountDetails'), root ('Root')
) as XmlOutput
Pero recibe un mensaje de error, ¿alguien sabe cómo evitarlo?
The FOR XML clause is invalid in views, inline functions, derived tables, and subqueries when they contain a set operator. To work around, wrap the SELECT containing a set operator using derived table syntax and apply FOR XML on top of it.
Gracias J.
¿Qué dice el mensaje de error? – Mithrandir
Mensaje de error anterior ... gracias – JBoom