Campo Total en la última fila.

24/05/2006 - 14:19 por Miguel | Informe spam
Hola a todos,

Sabe alguien como hacer lo siguiente??.

Hasta ahora he creado mis select con agrupación y me salen
resultados del tipo


AlumnosA alumnosb alumnosC
Alberto 0 1 2
persona2 2 3 4
persona3 5 6 7
Zara 7 8 8

y con otra select creo una fila Total que a base de count(*) queda
así:

Total 14 18 21

El tema es que hago un Union y en SQL Server sólo permite añadir el
ORDER BY en la última Clausula y me pone el Total en vez de en el
último lugar me lo deja en el ejemplo entre "persona3" y "Zara", en el
sitio que corresponde según la ordenación.
El problema es que necesito los registros ordenados.

Sabes como añadir la fila de Total en el último lugar, ordenando los
registros precedentes??.


Gracias por vuestra ayuda.


Miguel Angel.

Preguntas similare

Leer las respuestas

#1 Maxi
24/05/2006 - 14:26 | Informe spam
Miguel, lo ideal seria que esto lo resuelvas desde el report en si o la
aplicacion cliente. De todas maneras podrias poner un campo numerador y
ordenar por el. Revisa Row_number() en tus libros online si usas SQL2005


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Miguel" escribió en el mensaje
news:
Hola a todos,

Sabe alguien como hacer lo siguiente??.

Hasta ahora he creado mis select con agrupación y me salen
resultados del tipo


AlumnosA alumnosb alumnosC
Alberto 0 1 2
persona2 2 3 4
persona3 5 6 7
Zara 7 8 8

y con otra select creo una fila Total que a base de count(*) queda
así:

Total 14 18 21

El tema es que hago un Union y en SQL Server sólo permite añadir el
ORDER BY en la última Clausula y me pone el Total en vez de en el
último lugar me lo deja en el ejemplo entre "persona3" y "Zara", en el
sitio que corresponde según la ordenación.
El problema es que necesito los registros ordenados.

Sabes como añadir la fila de Total en el último lugar, ordenando los
registros precedentes??.


Gracias por vuestra ayuda.


Miguel Angel.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
24/05/2006 - 14:37 | Informe spam
Miguel,

Puedes usar la expresion "case" en la clausula "order by".

select ...
union
select ...
order by
case when c1 = 'Total' then 1 else 0 end asc,
c1 asc


AMB


"Miguel" wrote:

Hola a todos,

Sabe alguien como hacer lo siguiente??.

Hasta ahora he creado mis select con agrupación y me salen
resultados del tipo


AlumnosA alumnosb alumnosC
Alberto 0 1 2
persona2 2 3 4
persona3 5 6 7
Zara 7 8 8

y con otra select creo una fila Total que a base de count(*) queda
así:

Total 14 18 21

El tema es que hago un Union y en SQL Server sólo permite añadir el
ORDER BY en la última Clausula y me pone el Total en vez de en el
último lugar me lo deja en el ejemplo entre "persona3" y "Zara", en el
sitio que corresponde según la ordenación.
El problema es que necesito los registros ordenados.

Sabes como añadir la fila de Total en el último lugar, ordenando los
registros precedentes??.


Gracias por vuestra ayuda.


Miguel Angel.


Respuesta Responder a este mensaje
#3 Miguel
24/05/2006 - 16:14 | Informe spam
Al final he incluido un campo con SELECT *, '1' as Orden

e igual con la otra select y he ordenado por ese campo.


Gracias a los dos !!


Un saludo.

Miguel.



Alejandro Mesa ha escrito:

Miguel,

Puedes usar la expresion "case" en la clausula "order by".

select ...
union
select ...
order by
case when c1 = 'Total' then 1 else 0 end asc,
c1 asc


AMB


"Miguel" wrote:

> Hola a todos,
>
> Sabe alguien como hacer lo siguiente??.
>
> Hasta ahora he creado mis select con agrupación y me salen
> resultados del tipo
>
>
> AlumnosA alumnosb alumnosC
> Alberto 0 1 2
> persona2 2 3 4
> persona3 5 6 7
> Zara 7 8 8
>
> y con otra select creo una fila Total que a base de count(*) queda
> así:
>
> Total 14 18 21
>
> El tema es que hago un Union y en SQL Server sólo permite añadir el
> ORDER BY en la última Clausula y me pone el Total en vez de en el
> último lugar me lo deja en el ejemplo entre "persona3" y "Zara", en el
> sitio que corresponde según la ordenación.
> El problema es que necesito los registros ordenados.
>
> Sabes como añadir la fila de Total en el último lugar, ordenando los
> registros precedentes??.
>
>
> Gracias por vuestra ayuda.
>
>
> Miguel Angel.
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida