select fácil.. pero no se como :-s

28/07/2003 - 21:21 por hola | Informe spam
tengo un top 3 que me muestra los 3 primeros números de un
campo, por ejemplo

8
7
6

ahora lo que quiero es que haya en la primer fila en otra
columna el texto "mayor", en la del medio "medio" y la en
la 3er fila "menor"

8 mayor
7 medio
6 menor


cómo puedo hacer?

obviamente 8,7 y 6 son variables.

Preguntas similare

Leer las respuestas

#1 hola
28/07/2003 - 21:51 | Informe spam
jeje, buen chiste

creo que no me entendiste...
mi consulta ya tiene el orden by y siempre me da 3 filas
ordenadas correctamente, mi problema es que no
puedo "etiquetarlas" en otra consuta

si mi consulta select
SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna

me devuelve:

columna
10
8
6

yo quiero que aparezca

columna posición
10 mayor
8 medio
6 menor


o sea, a la primera fila siempre "mayor", a la del medio
siempre "medio" y la 3er fila siempre "menor"

gracias



Hola hola:
Me alegro que no te llames Adios, porque si no, te


hubieras quedado sin
respuesta :)
Te sirve el ORDER BY?. Algo como:

SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna


Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

hola wrote:
tengo un top 3 que me muestra los 3 primeros números de




un
campo, por ejemplo

8
7
6

ahora lo que quiero es que haya en la primer fila en




otra
columna el texto "mayor", en la del medio "medio" y la




en
la 3er fila "menor"

8 mayor
7 medio
6 menor


cómo puedo hacer?

obviamente 8,7 y 6 son variables.




.

Respuesta Responder a este mensaje
#2 Elvis Duran
28/07/2003 - 22:14 | Informe spam
Hola hola

Tambien tienes las clausulas Asc y Desc
para poner el orden de tu consulta,Si los quieres en
ascendente o descendente.

Select * from Tabla Order by Campo Asc

Saludos

Elvis Duran
Guanajuato Mexico
Respuesta Responder a este mensaje
#3 Javier Loria\(MVP\)
28/07/2003 - 22:21 | Informe spam
Hola:
Umm..., personalmente no me gusta este tipo de codigo, pero deberia ser
algo como esto:
/* Inicio de Codigo */
SELECT A1.Columna,
CASE COUNT(A2.Columna)
WHEN 1 THEN 'Mayor'
WHEN 2 THEN 'Medio'
WHEN 3 THEN 'Menor'
ELSE '***** ERROR ****'
END
FROM
(SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna ) AS A1
JOIN
(SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna ) AS A2 ON
ON
A1.Columna>¢.Columna
GROUP BY A1.Columna
/* Fin de Codigo */

Por supuesto esta sin probar,

Adios,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


jeje, buen chiste

creo que no me entendiste...
mi consulta ya tiene el orden by y siempre me da 3 filas
ordenadas correctamente, mi problema es que no
puedo "etiquetarlas" en otra consuta

si mi consulta select
SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna

me devuelve:

columna
10
8
6

yo quiero que aparezca

columna posición
10 mayor
8 medio
6 menor


o sea, a la primera fila siempre "mayor", a la del medio
siempre "medio" y la 3er fila siempre "menor"

gracias



Hola hola:
Me alegro que no te llames Adios, porque si no, te hubieras
quedado sin respuesta :)
Te sirve el ORDER BY?. Algo como:

SELECT TOP 3 Columna
FROM Tabla
ORDER BY Columna


Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

hola wrote:
tengo un top 3 que me muestra los 3 primeros números de un
campo, por ejemplo

8
7
6

ahora lo que quiero es que haya en la primer fila en otra
columna el texto "mayor", en la del medio "medio" y la en
la 3er fila "menor"

8 mayor
7 medio
6 menor


cómo puedo hacer?

obviamente 8,7 y 6 son variables.




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