Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda con consulta mysql

Estas en el tema de Ayuda con consulta mysql en el foro de Mysql en Foros del Web. Buenas noches. Me decido a preguntaros porque estoy un poco bloqueado con una consulta, así que espero que me ayudeis. Es una base de datos ...
  #1 (permalink)  
Antiguo 13/03/2011, 17:46
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Ayuda con consulta mysql

Buenas noches.

Me decido a preguntaros porque estoy un poco bloqueado con una consulta, así que espero que me ayudeis.

Es una base de datos sobre dos equipos.

La consulta usa dos tablas:
EQUIPOS
nombre*
fundacion

EMPLEADOS
dni*
nombre
puesto
nomequipo

No todos los equipos tienen a empleados en todos los puestos (por ejemplo, algunos equipos no tienen utilleros)

Necesito hacer una consulta que me muestre cuantos empleados trabajan en el mismo puesto en cada uno de los equipos.

La consulta que tengo hecha y me da error es ésta:
Código:
SELECT eq.nombre, COUNT(em1.dni) as 'entrenadores', COUNT(em2.dni) as 'masajistas', COUNT(em3.dni) as 'utilleros', COUNT(em4.dni) as 'jugadores'
FROM equipo eq JOIN empleado em1 ON (eq.nombre=em1.nomequipo)
               JOIN empleado em2 ON (eq.nombre=em2.nomequipo)
               JOIN empleado em3 ON (eq.nombre=em3.nomequipo)
               JOIN empleado em4 ON (eq.nombre=em4.nomequipo)
WHERE  em1.puesto='entrenadores'
  AND em2.puesto='masajistas'
  AND em3.puesto='utilleros'
  AND em4.puesto='jugadores'
GROUP BY eq.nombre;
Al ejecutar ésta consulta me muestra sólo los equipos que tienen a empleados en todos los puestos. Pero ¿Como hago para me muestre también a aquellos que no tiene a ningun empleado en ese puesto?

Muchas Gracias!
  #2 (permalink)  
Antiguo 13/03/2011, 18:00
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Ayuda con consulta mysql

prueba cambiar los and por or a ver que ocurre
  #3 (permalink)  
Antiguo 13/03/2011, 18:05
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta mysql

Gracias por la pronta respuesta.

Lo que comentas ya lo intenté y me salen una cifras erróneas (por ponerte un ejemplo en entrenadores me deberían salir 1 por equipo y me salen 175, 82....)
  #4 (permalink)  
Antiguo 13/03/2011, 18:06
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Ayuda con consulta mysql

pero que es lo que quieres obtener con la consulta para situarme mejor?
perdon
Necesito hacer una consulta que me muestre cuantos empleados trabajan en el mismo puesto en cada uno de los equipos.

esto sicnifica que quieres, equipo a tiene 2 utilleros equipo b tiene 3masajistas y asi asi?
  #5 (permalink)  
Antiguo 13/03/2011, 18:44
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Ayuda con consulta mysql

ok
lo primero es modificar la estructura de tu tabla
al igual que tienes una tabla con esquipos hazte una tabla con puestos (utilleros,masajistas...)

mi estructura termina asi
Tabla empleados
Campo Tipo
dni* int(8)
nombre varchar(50)
puesto int(1)
equipo int(9)

tabla equipos
Campo Tipo
id * int(9)
nombre varchar(50)

tabla puestos
Campo Tipo
id* int(1)
puesto varchar(50)

supongo que imaginas las relaciones entre tablas
la consulta tal que asi

SELECT A1.equipo EQUIPO, A1.puesto PUESTO, COUNT( A1.puesto ) Cantidad
FROM empleados A1, equipos A2
WHERE A1.equipo = A2.id
GROUP BY A1.equipo, A1.puesto


obtendra como resultado esto
EQUIPO PUESTO Cantidad
1 1 2
1 2 1
2 1 1

ahora si que si eh ;)

se me olvidaba enempleados yo tengo esto
dni nombre puesto equipo
1 pepe 1 1
2 luis 1 1
3 miguel 2 1
4 antonio 1 2
  #6 (permalink)  
Antiguo 14/03/2011, 03:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta mysql

Muchisimas Gracias!
  #7 (permalink)  
Antiguo 14/03/2011, 10:24
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Ayuda con consulta mysql

no hay de que ;)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:40.