duda con "for XML EXPLICIT"

18/04/2006 - 18:47 por Victor | Informe spam
Buenas a tod@s.

Tengo la siguiente consulta:

SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
del_nombre as [delegacion!1!nombre],
NULL as [oficina!2!ID],
null as [oficina!2!nombre!element],
null as [oficina!2!telefono!element],
null as [oficina!2!fax!element]
FROM ic_delisc WHERE del_codi = 1
UNION ALL
SELECT 2 as tag, 1 as parent, del_codi, del_nombre, ofi_id, ofi_nombre,
ofi_telefono, ofi_fax
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_codi
WHERE del_codi = 1
ORDER BY [delegacion!1!ID], [oficina!2!ID] FOR XML explicit

que me devuelve lo siguiente:

<delegacion ID="1" nombre="PALMA"><oficina
ID="10"><nombre>Información/Reservas</nombre><telefono>971707711</telefono><
fax>971707721</fax></oficina><oficina
ID="11"><nombre>Embarque</nombre></oficina></delegacion>

Pregunta: necesito añadir un atributo (longitud) a los elementos <telefono>
y <fax>

¿Cómo diantres se hace? Porque me estoy comiendo la cabeza y no hay manera.

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 BitOne®
19/04/2006 - 06:27 | Informe spam
Y cual es el problema o la pregunta?


"Victor" escribió en el mensaje
news:
Buenas a

Tengo la siguiente consulta:

SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
del_nombre as [delegacion!1!nombre],
NULL as [oficina!2!ID],
null as [oficina!2!nombre!element],
null as [oficina!2!telefono!element],
null as [oficina!2!fax!element]
FROM ic_delisc WHERE del_codi = 1
UNION ALL
SELECT 2 as tag, 1 as parent, del_codi, del_nombre, ofi_id, ofi_nombre,
ofi_telefono, ofi_fax
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_codi
WHERE del_codi = 1
ORDER BY [delegacion!1!ID], [oficina!2!ID] FOR XML explicit

que me devuelve lo siguiente:

<delegacion ID="1" nombre="PALMA"><oficina



ID="10"><nombre>Información/Reservas</nombre><telefono>971707711</telefono><
fax>971707721</fax></oficina><oficina
ID="11"><nombre>Embarque</nombre></oficina></delegacion>

Pregunta: necesito añadir un atributo (longitud) a los elementos


<telefono>
y <fax>

¿Cómo diantres se hace? Porque me estoy comiendo la cabeza y no hay


manera.

Muchas gracias.


Respuesta Responder a este mensaje
#2 Antonio Royo
19/04/2006 - 09:30 | Informe spam
Hola:
Yo tampoco acabo de enterder la cuestion. Si lo que quieres es que los
campos de telefono y fax tengan una longitud determinada los puedes formatear
en la SELECT, o es que quieres añadir algo así:
<telefonolongitud>9</telefonolongitud>

"BitOne®" wrote:

Y cual es el problema o la pregunta?


"Victor" escribió en el mensaje
news:
> Buenas a
>
> Tengo la siguiente consulta:
>
> SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
> del_nombre as [delegacion!1!nombre],
> NULL as [oficina!2!ID],
> null as [oficina!2!nombre!element],
> null as [oficina!2!telefono!element],
> null as [oficina!2!fax!element]
> FROM ic_delisc WHERE del_codi = 1
> UNION ALL
> SELECT 2 as tag, 1 as parent, del_codi, del_nombre, ofi_id, ofi_nombre,
> ofi_telefono, ofi_fax
> FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_codi
> WHERE del_codi = 1
> ORDER BY [delegacion!1!ID], [oficina!2!ID] FOR XML explicit
>
> que me devuelve lo siguiente:
>
> <delegacion ID="1" nombre="PALMA"><oficina
>
ID="10"><nombre>Información/Reservas</nombre><telefono>971707711</telefono><
> fax>971707721</fax></oficina><oficina
> ID="11"><nombre>Embarque</nombre></oficina></delegacion>
>
> Pregunta: necesito añadir un atributo (longitud) a los elementos
<telefono>
> y <fax>
>
> ¿Cómo diantres se hace? Porque me estoy comiendo la cabeza y no hay
manera.
>
> Muchas gracias.
Respuesta Responder a este mensaje
#3 Victor
19/04/2006 - 09:38 | Informe spam
Lo que "me gustaria" es esto:

<delegacion ID="1" nombre="PALMA">
<oficina ID="10">
<nombre>Información/Reservas</nombre>
<telefono longitud="9">971707711</telefono>
<fax longitud="9">971707721</fax>
</oficina>
<oficina ID="11">
<nombre>Embarque</nombre>
</oficina>
</delegacion>

Es decir, añadir un atributo "longitud" a los elementos <telefono> y <fax>


"BitOne®" escribió en el mensaje
news:
Y cual es el problema o la pregunta?


"Victor" escribió en el mensaje
news:
> Buenas a
>
> Tengo la siguiente consulta:
>
> SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
> del_nombre as [delegacion!1!nombre],
> NULL as [oficina!2!ID],
> null as [oficina!2!nombre!element],
> null as [oficina!2!telefono!element],
> null as [oficina!2!fax!element]
> FROM ic_delisc WHERE del_codi = 1
> UNION ALL
> SELECT 2 as tag, 1 as parent, del_codi, del_nombre, ofi_id, ofi_nombre,
> ofi_telefono, ofi_fax
> FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_codi
> WHERE del_codi = 1
> ORDER BY [delegacion!1!ID], [oficina!2!ID] FOR XML explicit
>
> que me devuelve lo siguiente:
>
> <delegacion ID="1" nombre="PALMA"><oficina
>



ID="10"><nombre>Información/Reservas</nombre><telefono>971707711</telefono><
> fax>971707721</fax></oficina><oficina
> ID="11"><nombre>Embarque</nombre></oficina></delegacion>
>
> Pregunta: necesito añadir un atributo (longitud) a los elementos
<telefono>
> y <fax>
>
> ¿Cómo diantres se hace? Porque me estoy comiendo la cabeza y no hay
manera.
>
> Muchas gracias.
>
>


Respuesta Responder a este mensaje
#4 Antonio Royo
20/04/2006 - 18:25 | Informe spam
Hola:
Hace tiempo que no tocaba este tema pero repasando los books online me temo
que la unica forma de la hacer lo que tu quieres es añadir mas SELECT. Algo
asi para el atributo fax:
SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
del_nombre as [delegacion!1!nombre],NULL as [oficina!2!ID],
null as [oficina!2!nombre],null as [oficina!2!telefono!element],
null as [fax!3!numerofax],null as [fax!3!longitud]
FROM ic_delisc WHERE del_codi = 1
UNION ALL
SELECT 2 as tag, 1 as parent,
del_codi, del_nombre, ofi_id,
ofi_nombre,ofi_telefono,ofi_fax,null
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_code
WHERE del_codi = 1
UNION ALL
SELECT 3 as tag, 2 as parent,
del_codi, del_nombre, ofi_id, ofi_nombre,
ofi_telefono, ofi_fax,9
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_code
WHERE del_codi = 1
ORDER BY [delegacion!1!ID], [oficina!2!ID], [fax!3!numerofax]
FOR XML explicit

Espero que te sirva.

"Victor" wrote:

Lo que "me gustaria" es esto:

<delegacion ID="1" nombre="PALMA">
<oficina ID="10">
<nombre>Información/Reservas</nombre>
<telefono longitud="9">971707711</telefono>
<fax longitud="9">971707721</fax>
</oficina>
<oficina ID="11">
<nombre>Embarque</nombre>
</oficina>
</delegacion>

Es decir, añadir un atributo "longitud" a los elementos <telefono> y <fax>


"BitOne®" escribió en el mensaje
news:
> Y cual es el problema o la pregunta?
>
Respuesta Responder a este mensaje
#5 Victor
21/04/2006 - 10:26 | Informe spam
Bueno, al menos es una solución.

Muchas gracias.
"Antonio Royo" escribió en el
mensaje news:
Hola:
Hace tiempo que no tocaba este tema pero repasando los books online me


temo
que la unica forma de la hacer lo que tu quieres es añadir mas SELECT.


Algo
asi para el atributo fax:
SELECT 1 as tag, null as parent, del_codi as [delegacion!1!ID],
del_nombre as [delegacion!1!nombre],NULL as [oficina!2!ID],
null as [oficina!2!nombre],null as [oficina!2!telefono!element],
null as [fax!3!numerofax],null as [fax!3!longitud]
FROM ic_delisc WHERE del_codi = 1
UNION ALL
SELECT 2 as tag, 1 as parent,
del_codi, del_nombre, ofi_id,
ofi_nombre,ofi_telefono,ofi_fax,null
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_code
WHERE del_codi = 1
UNION ALL
SELECT 3 as tag, 2 as parent,
del_codi, del_nombre, ofi_id, ofi_nombre,
ofi_telefono, ofi_fax,9
FROM ic_oficinas INNER JOIN ic_delisc ON del_codi = ofi_del_code
WHERE del_codi = 1
ORDER BY [delegacion!1!ID], [oficina!2!ID], [fax!3!numerofax]
FOR XML explicit

Espero que te sirva.

"Victor" wrote:

> Lo que "me gustaria" es esto:
>
> <delegacion ID="1" nombre="PALMA">
> <oficina ID="10">
> <nombre>Información/Reservas</nombre>
> <telefono longitud="9">971707711</telefono>
> <fax longitud="9">971707721</fax>
> </oficina>
> <oficina ID="11">
> <nombre>Embarque</nombre>
> </oficina>
> </delegacion>
>
> Es decir, añadir un atributo "longitud" a los elementos <telefono> y


<fax>
>
>
> "BitOne®" escribió en el mensaje
> news:
> > Y cual es el problema o la pregunta?
> >

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida