Ordernar una sola select con UNION

24/08/2006 - 19:56 por Piolin Net | Informe spam
Alo!

tengo la siguiente union:

SELECT -2 AS Id, 'Panama' AS Nombre
UNION
SELECT -3 AS Id, 'Canada' AS Nombre
UNION
SELECT Id, Nombre
FROM dbo.TM_Paises
WHERE Estado = 1

quiero ordenarla alfabeticamente pero dejando los 2 primeros en ese orden
si le pongo ORDER BY Nombre me coge toda la UNION

Como podria hacerlo? Gracias

Preguntas similare

Leer las respuestas

#6 Piolin Net
24/08/2006 - 20:30 | Informe spam
Perfecto!!

solo habia un pequeño error en el case (faltaba el THEN)

Va de cine

Gracias!!

"Alejandro Mesa" wrote:

OK,

select *
from
(
SELECT -2 AS Id, 'Panama' AS Nombre
UNION
SELECT -3 AS Id, 'Canada' AS Nombre
UNION
SELECT Id, Nombre
FROM dbo.TM_Paises
WHERE Estado = 1
) as t
order by
case when Id in (-2, -3) Id else 0 end asc,
Nombre asc
go

Para que el nombre 'Panama' salga primero en la lista, debes asignarle el
valor -3 a su Id y -2 a 'Canada'.


AMB

"Piolin Net" wrote:

> NO funciona
>
> no reconce el nombre del campo
>
> sin la UNION si funciona pero con ella NO
>
> gracias
>
> "Alejandro Mesa" wrote:
>
> > Trata:
> >
> > ...
> > order by
> > case when Id in (-2, -3) Id else 0 end asc,
> > Nombre asc
> > go
> >
> >
> > AMB
> >
> >
> > "Piolin Net" wrote:
> >
> > > Alo!
> > >
> > > tengo la siguiente union:
> > >
> > > SELECT -2 AS Id, 'Panama' AS Nombre
> > > UNION
> > > SELECT -3 AS Id, 'Canada' AS Nombre
> > > UNION
> > > SELECT Id, Nombre
> > > FROM dbo.TM_Paises
> > > WHERE Estado = 1
> > >
> > > quiero ordenarla alfabeticamente pero dejando los 2 primeros en ese orden
> > > si le pongo ORDER BY Nombre me coge toda la UNION
> > >
> > > Como podria hacerlo? Gracias
> > >
> > >
> > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida