05/02/2010, 09:50
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses Puntos: 300 | |
Respuesta: selects y counts anidados No nos dices nada de si los resultados en las dos primeras son para equipo o para usuario. Sea lo que sea sólo tienes que agrupar o por equipo o por usuario y añadir un inner join con la tabla de equipos, si es para equipo.
1) Select e.nombre_equipo, COUNT(p.id_producto) totalprodnousados FROM equipo e INNER JOIN users u ON e.user_id = u.id INNER JOIN compras c ON c.id_user = u.id INNER JOIN producto p ON c.id_producto = p.id_producto WHERE p.estado = 0 GROUP BY e.id
2) imagino que id_fecha es un campo de tipo DATE… y que lo que buscas son los puntos de un día, el de hoy.
Select e.nombre_equipo, SUM(r.puntos) totpuntoshoy FROM equipo e INNER JOIN users u ON e.user_id = u.id INNER JOIN compras c ON c.id_user = u.id INNER JOIN producto p ON c.id_producto = p.id_producto INNER JOIN rangking r ON r.id_equipo = e.id WHERE p.id_fecha = CURDATE() GROUP BY e.id
3) Todos los puntos de un equipo
Select e.nombre_equipo, SUM(r.puntos)Totalpuntoshastahoy FROM equipo e INNER JOIN users u ON e.user_id = u.id INNER JOIN compras c ON c.id_user = u.id INNER JOIN producto p ON c.id_producto = p.id_producto INNER JOIN rangking r ON r.id_equipo = e.id GROUP BY e.id
No he probado nada |