Problemas con una consulta

27/09/2005 - 13:41 por Rosell | Informe spam
hola grupo,

tengo un problema al intentar realizar una consulta contra una tabla de mi
base de datos. Tengo una tabla con valores de rango de edades de
trabajadores, es decir, en el caso de que el trabajador tenga entre 18-25
años almaceno un 0, en caso de tener entre 26 - 40 guardo un 1 y si es
superior a 40 el valor seria 2.

Mi consulta es la siguiente:
Select count(cod_Trabajador) as num,edad
From trabajadores
Where Sexo = 0
group by edad

y me devuelve :

Num edad
163 0
131 1
49 2

Facil, quizas deberia haber normalizado los rangos de edades en una tabla
relacionada con los trabajadores. pero sin necesidad de crear la tabla me
gustaria saber como poner los textos al panel de resultados. Supongo que
podre crear una matriz que haga las veces de tabla o quizas un cursor. No
se, me pongo en vuestras manos el resultado ideal seria:

Num edad
163 18-25
131 26-40
49 >40

Muchas gracias a todos.
 

Leer las respuestas

#1 Carlos Sacristán
27/09/2005 - 14:02 | Informe spam
Con un CASE:

SELECT ..., CASE edad WHEN 0 THEN '18 - 25' WHEN 1 THEN '26-40' ELSE '>
40'
FROM ...

Ten cuidado con los tipos de datos, si 'edad' es numérico te dará error.
Tienes que hacer una conversión a alfanumérico antes


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Rosell" escribió en el mensaje
news:
hola grupo,

tengo un problema al intentar realizar una consulta contra una tabla de


mi
base de datos. Tengo una tabla con valores de rango de edades de
trabajadores, es decir, en el caso de que el trabajador tenga entre 18-25
años almaceno un 0, en caso de tener entre 26 - 40 guardo un 1 y si es
superior a 40 el valor seria 2.

Mi consulta es la siguiente:
Select count(cod_Trabajador) as num,edad
From trabajadores
Where Sexo = 0
group by edad

y me devuelve :

Num edad
163 0
131 1
49 2

Facil, quizas deberia haber normalizado los rangos de edades en una tabla
relacionada con los trabajadores. pero sin necesidad de crear la tabla me
gustaria saber como poner los textos al panel de resultados. Supongo que
podre crear una matriz que haga las veces de tabla o quizas un cursor. No
se, me pongo en vuestras manos el resultado ideal seria:

Num edad
163 18-25
131 26-40
49 >40

Muchas gracias a todos.





Preguntas similares