Consulta SQL

09/12/2008 - 18:59 por Javi_Garzon | Informe spam
Compañeros buenas tardes. soy novato en el tema de SQL y
Necesito realizar una consulta sobre una tabla con una estructura asi:

id_empleado Fecha_ingreso Fecha_retiro
1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000

Debo obtener:

Periodo Personas Inicio Personas Final
2008-01 0 1
2008-02 2 3
2008-03 3 2
2008-04 2 1

De antemano mil gracias
Javier

Preguntas similare

Leer las respuestas

#1 Jose TH
09/12/2008 - 19:05 | Informe spam
No es una tarea de la uni ? :)


"Javi_Garzon" escribió en el mensaje
news:
Compañeros buenas tardes. soy novato en el tema de SQL y
Necesito realizar una consulta sobre una tabla con una estructura asi:

id_empleado Fecha_ingreso Fecha_retiro
1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000

Debo obtener:

Periodo Personas Inicio Personas Final
2008-01 0 1
2008-02 2 3
2008-03 3 2
2008-04 2 1

De antemano mil gracias
Javier
Respuesta Responder a este mensaje
#2 Javi_Garzon
09/12/2008 - 19:12 | Informe spam
No es una tarea de la uni,es de la organizacion donde trabajo. Lo que pasa es
que solo coloque esos 3 campos, porque lo demas ya lo tengo resuelto.
Javier


"Jose TH >>" wrote:


No es una tarea de la uni ? :)


"Javi_Garzon" escribió en el mensaje
news:
> Compañeros buenas tardes. soy novato en el tema de SQL y
> Necesito realizar una consulta sobre una tabla con una estructura asi:
>
> id_empleado Fecha_ingreso Fecha_retiro
> 1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
> 2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
> 3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
> 4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
> 5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
> 6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000
>
> Debo obtener:
>
> Periodo Personas Inicio Personas Final
> 2008-01 0 1
> 2008-02 2 3
> 2008-03 3 2
> 2008-04 2 1
>
> De antemano mil gracias
> Javier



Respuesta Responder a este mensaje
#3 Maxi
09/12/2008 - 19:49 | Informe spam
Hola, los periodos de donde salen? tenes una tabla con los periodos
definidos?

usas sql 2000 o 2005?


Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Javi_Garzon" escribió en el mensaje
news:
Compañeros buenas tardes. soy novato en el tema de SQL y
Necesito realizar una consulta sobre una tabla con una estructura asi:

id_empleado Fecha_ingreso Fecha_retiro
1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000

Debo obtener:

Periodo Personas Inicio Personas Final
2008-01 0 1
2008-02 2 3
2008-03 3 2
2008-04 2 1

De antemano mil gracias
Javier
Respuesta Responder a este mensaje
#4 Alejandro Mesa
09/12/2008 - 19:55 | Informe spam
Javi_Garzon,

Puedes decirnos con palabras lo que tratas de hacer y como poonerlo en
practica basado en tus datos de ejemplo?

Que significa 2008-01, 2008-02?


AMB

"Javi_Garzon" wrote:

Compañeros buenas tardes. soy novato en el tema de SQL y
Necesito realizar una consulta sobre una tabla con una estructura asi:

id_empleado Fecha_ingreso Fecha_retiro
1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000

Debo obtener:

Periodo Personas Inicio Personas Final
2008-01 0 1
2008-02 2 3
2008-03 3 2
2008-04 2 1

De antemano mil gracias
Javier
Respuesta Responder a este mensaje
#5 Jose TH
09/12/2008 - 21:14 | Informe spam
Ya, pues ahí lo que parece es contar los empleados activos al inicio y al
final de cada mes. Una idea de hacerlo, entre varias que podría haber, sería
valerte de una función de usuario que de parámetros le mandes año y mes (o
hasta mejor la fecha completa de inicio de ese mes) y detecte en base a las
dos fechas del registro (ingreso y retiro) los empleados que estaban activos
al fin del mes que se ha enviado como parámetro comparando las fechas. Para
el inicio llamarías la misma función restándole un mes a la fecha del mes en
cuestión, o hacerlo al revés, sumándole un mes si tomas en la función el dia
de inicio del mes del parámetro en vez del último día). Luego utilizas esa
función en la consulta requerida que expanda los meses, ya que parece que
van en secuencia según tu ejemplo. También con subconsultas se podría lo
mismo, etc... pero.. es bueno que des mayores detalles para que esté más
claro y le quites los ceros a las horas del ejemplo para que se lea
mejor:)




"Javi_Garzon" escribió en el mensaje
news:
No es una tarea de la uni,es de la organizacion donde trabajo. Lo que pasa
es
que solo coloque esos 3 campos, porque lo demas ya lo tengo resuelto.
Javier


"Jose TH >>" wrote:


No es una tarea de la uni ? :)


"Javi_Garzon" escribió en el
mensaje
news:
> Compañeros buenas tardes. soy novato en el tema de SQL y
> Necesito realizar una consulta sobre una tabla con una estructura asi:
>
> id_empleado Fecha_ingreso Fecha_retiro
> 1 2008-01-02 00:00:00.000 2008-02-15 00:00:00.000
> 2 2008-01-03 00:00:00.000 2008-03-02 00:00:00.000
> 3 2008-02-04 00:00:00.000 2008-04-02 00:00:00.000
> 4 2008-02-18 00:00:00.000 2008-06-18 00:00:00.000
> 5 2008-06-15 00:00:00.000 2008-08-02 00:00:00.000
> 6 2008-08-30 00:00:00.000 2008-10-31 00:00:00.000
>
> Debo obtener:
>
> Periodo Personas Inicio Personas Final
> 2008-01 0 1
> 2008-02 2 3
> 2008-03 3 2
> 2008-04 2 1
>
> De antemano mil gracias
> Javier



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida