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.

Preguntas similare

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.





Respuesta Responder a este mensaje
#2 Rosell
27/09/2005 - 17:24 | Informe spam
Muchas gracias Carlos me has solucionado el problema.

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
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.
>
>
>
>
>


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