Pregunta de Sumas

04/07/2006 - 21:00 por LUCHO | Informe spam
Buenas tardes:

Muchachos, tengo la siguiente instrucción SQL:


SELECT USUARIOS.NombresUsuario AS NOMBRE, USUARIOS.ApellidosUsuario AS
APELLIDO,
REPORTESSERVICIOLLAMADAS.HorasLaborReporteServicio AS
HORAS_TRABAJO, REPORTESSERVICIOLLAMADAS.HorasDesplazamientoReporteServ AS
HORAS_DESPLAZAMIENTO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS
SUCURSAL
FROM USUARIOS INNER JOIN
REPORTESSERVICIO ON USUARIOS.CodigoUsuario REPORTESSERVICIO.CodigoUsuario INNER JOIN
REPORTESSERVICIOLLAMADAS ON
REPORTESSERVICIO.CodigoReporteServicio REPORTESSERVICIOLLAMADAS.CodigoReporteServicio INNER JOIN
LLAMADAS ON REPORTESSERVICIOLLAMADAS.CodigoLlamada LLAMADAS.CodigoLlamada INNER JOIN
ESTRUCTURAORGANIZACIONAL ON
LLAMADAS.CodUnicoOrganizacionalLlamada ESTRUCTURAORGANIZACIONAL.CodigoUnicoOrganizacional
WHERE (USUARIOS.TipoUsuario = 'I') AND (LLAMADAS.CodigoTipoServicio = 2)
ORDER BY USUARIOS.NombresUsuario


Al final me genera un conjunto de registros en el cual yo puedo ver cual ha
sido el tiempo efectivo de trabajo de la gente, persona a persona, labor por
labor.

Quisiera saber de que forma puedo agrupar esta consulta de modo que solo me
salga el nombre del empleado una sola vez y que me aparezca totalizadas la
cantidad de horas de trabajo por cada uno de ellos.

Agradezco su amable colaboración.

Atentamente



LUIS ANTONIO GOMEZ
e-BUSINESS DISTRIBUTION COLOMBIA S.A
Tel: 593 55 00 Ext. 15480
lgomez@ebd.com.co

Preguntas similare

Leer las respuestas

#1 Jorge Gonzalez
04/07/2006 - 23:00 | Informe spam
Lucho,

Te recomiendo leer la opción GROUP BY y las funciones de grupos ( SUM, MAX,
COUNT, AVG, ETC) en lo BOL.

Lo que deseas hacer, si lo entendí bien, es lo siguiente:

SELECT
USUARIOS.NombresUsuario AS NOMBRE,
USUARIOS.ApellidosUsuario AS APELLIDO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS SUCURSAL,
SUM ( REPORTESSERVICIOLLAMADAS.HorasLaborReporteServicio) AS HORAS_TRABAJO,
SUM ( REPORTESSERVICIOLLAMADAS.HorasDesplazamientoReporteServ) AS
HORAS_DESPLAZAMIENTO

FROM USUARIOS
INNER JOIN REPORTESSERVICIO ON USUARIOS.CodigoUsuario =
REPORTESSERVICIO.CodigoUsuario
INNER JOIN REPORTESSERVICIOLLAMADAS ON
REPORTESSERVICIO.CodigoReporteServicio =
REPORTESSERVICIOLLAMADAS.CodigoReporteServicio
INNER JOIN LLAMADAS ON REPORTESSERVICIOLLAMADAS.CodigoLlamada =
LLAMADAS.CodigoLlamada
INNER JOIN ESTRUCTURAORGANIZACIONAL ON
LLAMADAS.CodUnicoOrganizacionalLlamada =
ESTRUCTURAORGANIZACIONAL.CodigoUnicoOrganizacional
WHERE (USUARIOS.TipoUsuario = 'I') AND (LLAMADAS.CodigoTipoServicio = 2)
GROUP BY
USUARIOS.NombresUsuario AS NOMBRE,
USUARIOS.ApellidosUsuario AS APELLIDO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS SUCURSAL
ORDER BY USUARIOS.NombresUsuario, USUARIOS.ApellidosUsuario

Suerte

Jorge González

"LUCHO" escribió en el mensaje
news:
Buenas tardes:

Muchachos, tengo la siguiente instrucción SQL:


SELECT USUARIOS.NombresUsuario AS NOMBRE, USUARIOS.ApellidosUsuario
AS
APELLIDO,
REPORTESSERVICIOLLAMADAS.HorasLaborReporteServicio AS
HORAS_TRABAJO, REPORTESSERVICIOLLAMADAS.HorasDesplazamientoReporteServ AS
HORAS_DESPLAZAMIENTO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS
SUCURSAL
FROM USUARIOS INNER JOIN
REPORTESSERVICIO ON USUARIOS.CodigoUsuario > REPORTESSERVICIO.CodigoUsuario INNER JOIN
REPORTESSERVICIOLLAMADAS ON
REPORTESSERVICIO.CodigoReporteServicio > REPORTESSERVICIOLLAMADAS.CodigoReporteServicio INNER JOIN
LLAMADAS ON REPORTESSERVICIOLLAMADAS.CodigoLlamada > LLAMADAS.CodigoLlamada INNER JOIN
ESTRUCTURAORGANIZACIONAL ON
LLAMADAS.CodUnicoOrganizacionalLlamada > ESTRUCTURAORGANIZACIONAL.CodigoUnicoOrganizacional
WHERE (USUARIOS.TipoUsuario = 'I') AND (LLAMADAS.CodigoTipoServicio =
2)
ORDER BY USUARIOS.NombresUsuario


Al final me genera un conjunto de registros en el cual yo puedo ver cual
ha
sido el tiempo efectivo de trabajo de la gente, persona a persona, labor
por
labor.

Quisiera saber de que forma puedo agrupar esta consulta de modo que solo
me
salga el nombre del empleado una sola vez y que me aparezca totalizadas la
cantidad de horas de trabajo por cada uno de ellos.

Agradezco su amable colaboración.

Atentamente



LUIS ANTONIO GOMEZ
e-BUSINESS DISTRIBUTION COLOMBIA S.A
Tel: 593 55 00 Ext. 15480



Respuesta Responder a este mensaje
#2 LUCHO
05/07/2006 - 18:35 | Informe spam
Muchas gracias Jorge por tu ayuda.


"Jorge Gonzalez" wrote in message
news:
Lucho,

Te recomiendo leer la opción GROUP BY y las funciones de grupos ( SUM,


MAX,
COUNT, AVG, ETC) en lo BOL.

Lo que deseas hacer, si lo entendí bien, es lo siguiente:

SELECT
USUARIOS.NombresUsuario AS NOMBRE,
USUARIOS.ApellidosUsuario AS APELLIDO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS SUCURSAL,
SUM ( REPORTESSERVICIOLLAMADAS.HorasLaborReporteServicio) AS


HORAS_TRABAJO,
SUM ( REPORTESSERVICIOLLAMADAS.HorasDesplazamientoReporteServ) AS
HORAS_DESPLAZAMIENTO

FROM USUARIOS
INNER JOIN REPORTESSERVICIO ON USUARIOS.CodigoUsuario > REPORTESSERVICIO.CodigoUsuario
INNER JOIN REPORTESSERVICIOLLAMADAS ON
REPORTESSERVICIO.CodigoReporteServicio > REPORTESSERVICIOLLAMADAS.CodigoReporteServicio
INNER JOIN LLAMADAS ON REPORTESSERVICIOLLAMADAS.CodigoLlamada > LLAMADAS.CodigoLlamada
INNER JOIN ESTRUCTURAORGANIZACIONAL ON
LLAMADAS.CodUnicoOrganizacionalLlamada > ESTRUCTURAORGANIZACIONAL.CodigoUnicoOrganizacional
WHERE (USUARIOS.TipoUsuario = 'I') AND (LLAMADAS.CodigoTipoServicio 2)
GROUP BY
USUARIOS.NombresUsuario AS NOMBRE,
USUARIOS.ApellidosUsuario AS APELLIDO,
ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS SUCURSAL
ORDER BY USUARIOS.NombresUsuario, USUARIOS.ApellidosUsuario

Suerte

Jorge González

"LUCHO" escribió en el mensaje
news:
> Buenas tardes:
>
> Muchachos, tengo la siguiente instrucción SQL:
>
>
> SELECT USUARIOS.NombresUsuario AS NOMBRE, USUARIOS.ApellidosUsuario
> AS
> APELLIDO,
> REPORTESSERVICIOLLAMADAS.HorasLaborReporteServicio


AS
> HORAS_TRABAJO, REPORTESSERVICIOLLAMADAS.HorasDesplazamientoReporteServ


AS
> HORAS_DESPLAZAMIENTO,
> ESTRUCTURAORGANIZACIONAL.UnidadOrganizacional AS
> SUCURSAL
> FROM USUARIOS INNER JOIN
> REPORTESSERVICIO ON USUARIOS.CodigoUsuario > > REPORTESSERVICIO.CodigoUsuario INNER JOIN
> REPORTESSERVICIOLLAMADAS ON
> REPORTESSERVICIO.CodigoReporteServicio > > REPORTESSERVICIOLLAMADAS.CodigoReporteServicio INNER JOIN
> LLAMADAS ON REPORTESSERVICIOLLAMADAS.CodigoLlamada
> LLAMADAS.CodigoLlamada INNER JOIN
> ESTRUCTURAORGANIZACIONAL ON
> LLAMADAS.CodUnicoOrganizacionalLlamada > > ESTRUCTURAORGANIZACIONAL.CodigoUnicoOrganizacional
> WHERE (USUARIOS.TipoUsuario = 'I') AND (LLAMADAS.CodigoTipoServicio
> 2)
> ORDER BY USUARIOS.NombresUsuario
>
>
> Al final me genera un conjunto de registros en el cual yo puedo ver cual
> ha
> sido el tiempo efectivo de trabajo de la gente, persona a persona, labor
> por
> labor.
>
> Quisiera saber de que forma puedo agrupar esta consulta de modo que solo
> me
> salga el nombre del empleado una sola vez y que me aparezca totalizadas


la
> cantidad de horas de trabajo por cada uno de ellos.
>
> Agradezco su amable colaboración.
>
> Atentamente
>
>
>
> LUIS ANTONIO GOMEZ
> e-BUSINESS DISTRIBUTION COLOMBIA S.A
> Tel: 593 55 00 Ext. 15480
>
>
>


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