Consulta SQL sobre dos Tablas

07/11/2003 - 16:31 por Sergio Cossa | Informe spam
Hola a todos.
Necesito consultar dos tablas: Oficina y Usuario

De Oficina, puedo obtener sin problemas ID y Nombre.
Pero debo agregar en la consulta, la cantidad de todos los Usuarios para
cada Oficina y la suma de sus Horas Trabajadas

En definitiva, debería salir algo así:

ID Oficina Nombre Cantidad de Usuarios
Total Horas
100 Oficina 100 15
100
101 Oficina 101 10
120

etc.

En la tabla Usuarios tengo la relación con el ID de la Oficina y un campo
Horas

En fin, no termino de entender cómo hacerla... una ayuda por favor?

Desde ya, muchas gracias.

Sergio Cossa
Argentina

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
06/11/2003 - 17:05 | Informe spam
Sergio!!

la cosa seria algo asi como:

Select oficina.id,count(usuario.id_usuario) as
qty_usuario,sum(usuarios.horas) as qty_horas
from Oficina inner join Usuarios on oficina.id = usuarios.oficina_id
group by oficina.id

Esto lo q hace es una relacion primero entre las tablas (si deseas traer
alun otro valor de la oficina como por ej
ubicacion u algun otro campo de ese maestro)

Luego de hacer las uniones uso campos calculados (sum y count) y los agrupo
por oficina_id.

Revisa en tus bol las funciones Sum,count,avg.

un abrazo

pd: de q lugar de Argentina sos?

Accotto Maximiliano Damian
"Sergio Cossa" escribió en el mensaje
news:
Hola a todos.
Necesito consultar dos tablas: Oficina y Usuario

De Oficina, puedo obtener sin problemas ID y Nombre.
Pero debo agregar en la consulta, la cantidad de todos los Usuarios para
cada Oficina y la suma de sus Horas Trabajadas

En definitiva, debería salir algo así:

ID Oficina Nombre Cantidad de Usuarios
Total Horas
100 Oficina 100 15
100
101 Oficina 101 10
120

etc.

En la tabla Usuarios tengo la relación con el ID de la Oficina y un campo
Horas

En fin, no termino de entender cómo hacerla... una ayuda por favor?

Desde ya, muchas gracias.

Sergio Cossa
Argentina


Respuesta Responder a este mensaje
#2 Accotto Maximiliano D.
06/11/2003 - 18:12 | Informe spam
mucho gusto!! yo soy de Bs As



Accotto Maximiliano Damian
"Sergio Cossa" escribió en el mensaje
news:
Gracias Javier y Maximiliano!!

Los dos Select funcionan perfectamente.
Lo que no estaba utilizando era lo de GROUP BY...

Maximiliano, soy de Río Cuarto (Córdoba)

Sergio Cossa
Argentina

"Sergio Cossa" wrote in message
news:
> Hola a todos.
> Necesito consultar dos tablas: Oficina y Usuario
>
> De Oficina, puedo obtener sin problemas ID y Nombre.
> Pero debo agregar en la consulta, la cantidad de todos los Usuarios para
> cada Oficina y la suma de sus Horas Trabajadas
>
> En definitiva, debería salir algo así:
>
> ID Oficina Nombre Cantidad de Usuarios
> Total Horas
> 100 Oficina 100 15
> 100
> 101 Oficina 101 10
> 120
>
> etc.
>
> En la tabla Usuarios tengo la relación con el ID de la Oficina y un


campo
> Horas
>
> En fin, no termino de entender cómo hacerla... una ayuda por favor?
>
> Desde ya, muchas gracias.
>
> Sergio Cossa
> Argentina
>
>


Respuesta Responder a este mensaje
#3 Javier Loria
07/11/2003 - 16:36 | Informe spam
Hola Sergio:
Codigo sin Probar:

SELECT Oficina.Id_Oficina,
Oficina.Nombre,
COUNT(*),
SUM(Usuario.Horas)
FROM Oficina JOIN Usuario
ON Oficina.Id_Oficina=Usuario.Id_Oficina
GROUP BY Oficina.Id_Oficina,
Oficina.Nombre

Espero te resulte y si no te corre talvez puedes enviar el codigo de
creacion de las tablas para probar errores de sintaxis.
Saludos,


Javier Loria
Costa Rica
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.

Sergio Cossa escribio:
Hola a todos.
Necesito consultar dos tablas: Oficina y Usuario

De Oficina, puedo obtener sin problemas ID y Nombre.
Pero debo agregar en la consulta, la cantidad de todos los Usuarios
para cada Oficina y la suma de sus Horas Trabajadas

En definitiva, debería salir algo así:

ID Oficina Nombre Cantidad de Usuarios
Total Horas
100 Oficina 100 15
100
101 Oficina 101 10
120

etc.

En la tabla Usuarios tengo la relación con el ID de la Oficina y un
campo Horas

En fin, no termino de entender cómo hacerla... una ayuda por favor?

Desde ya, muchas gracias.

Sergio Cossa
Argentina
Respuesta Responder a este mensaje
#4 Sergio Cossa
07/11/2003 - 18:09 | Informe spam
Gracias Javier y Maximiliano!!

Los dos Select funcionan perfectamente.
Lo que no estaba utilizando era lo de GROUP BY...

Maximiliano, soy de Río Cuarto (Córdoba)

Sergio Cossa
Argentina

"Sergio Cossa" wrote in message
news:
Hola a todos.
Necesito consultar dos tablas: Oficina y Usuario

De Oficina, puedo obtener sin problemas ID y Nombre.
Pero debo agregar en la consulta, la cantidad de todos los Usuarios para
cada Oficina y la suma de sus Horas Trabajadas

En definitiva, debería salir algo así:

ID Oficina Nombre Cantidad de Usuarios
Total Horas
100 Oficina 100 15
100
101 Oficina 101 10
120

etc.

En la tabla Usuarios tengo la relación con el ID de la Oficina y un campo
Horas

En fin, no termino de entender cómo hacerla... una ayuda por favor?

Desde ya, muchas gracias.

Sergio Cossa
Argentina


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