Hola chumachos, tengo las siguientes tablas
tabla resultados
-id
-carrera
-puntos
-corredor
-posicion
tabla corredores
-id
-corredor
tabla carreras
-id
-carrera
-fecha
Bien, la tabla carreras y corredores son faciles, guarda los corredores y carreras con sus fechas, en la tabla resultados guardo relacion con las tablas corredores y carreras y ademas guardo los puntos de ese corredor en esa carrera en concreto.
Por ejemplo, tabla resultados (una muestra de lo que tengo en la bd):
Código MySQL:
Ver original+-----------+-----------+---------------+--------------+-----------------+
| result_id | result_gp | result_points | result_rider | result_position |
+-----------+-----------+---------------+--------------+-----------------+
| 1 | 1 | 25 | 32 | 1 |
| 2 | 1 | 20 | 20 | 2 |
| 3 | 1 | 16 | 31 | 3 |
| 4 | 1 | 13 | 14 | 4 |
| 5 | 1 | 11 | 16 | 5 |
| 6 | 1 | 10 | 11 | 6 |
| 7 | 1 | 9 | 1 | 7 |
| 8 | 1 | 8 | 26 | 8 |
| 9 | 1 | 7 | 15 | 9 |
| 10 | 1 | 6 | 7 | 10 |
| 11 | 1 | 5 | 18 | 11 |
| 12 | 1 | 4 | 8 | 12 |
| 13 | 1 | 3 | 5 | 13 |
| 14 | 1 | 2 | 25 | 14 |
| 15 | 1 | 1 | 4 | 15 |
| 16 | 1 | 0 | 28 | 16 |
| 17 | 1 | 0 | 27 | 17 |
| 18 | 1 | 0 | 23 | 18 |
| 19 | 1 | 0 | 2 | 19 |
| 20 | 1 | 0 | 6 | 20 |
| 21 | 1 | 0 | 3 | 21 |
| 22 | 1 | 0 | 17 | 22 |
| 23 | 1 | 0 | 24 | 23 |
| 24 | 1 | 0 | 10 | 24 |
| 25 | 2 | 25 | 31 | 1 |
| 26 | 2 | 20 | 14 | 2 |
| 27 | 2 | 16 | 32 | 3 |
| 28 | 2 | 13 | 16 | 4 |
| 29 | 2 | 11 | 3 | 5 |
| 30 | 2 | 10 | 20 | 6 |
| 31 | 2 | 9 | 1 | 7 |
| 32 | 2 | 8 | 11 | 8 |
| 33 | 2 | 7 | 26 | 9 |
| 34 | 2 | 6 | 15 | 10 |
| 35 | 2 | 5 | 18 | 11 |
| 36 | 2 | 4 | 17 | 12 |
| 37 | 2 | 3 | 7 | 13 |
| 38 | 2 | 2 | 8 | 14 |
| 39 | 2 | 1 | 25 | 15 |
| 40 | 2 | 0 | 27 | 16 |
| 41 | 2 | 0 | 4 | 17 |
| 42 | 2 | 0 | 5 | 18 |
| 43 | 2 | 0 | 28 | 19 |
| 44 | 2 | 0 | 24 | 20 |
| 45 | 2 | 0 | 30 | 21 |
| 46 | 2 | 0 | 6 | 22 |
| 47 | 2 | 0 | 23 | 23 |
| 48 | 2 | 0 | 2 | 24 |
| 49 | 3 | 25 | 14 | 1 |
| 50 | 3 | 20 | 31 | 2 |
+-----------+-----------+---------------+--------------+-----------------+
Dados esos datos, quiero hacer una consulta que me devuelva todos los registros (los JOIN ya los se hacer) pero que me devuelva un campo puntos, en el que me sume los puntos por corredor, tengo esta consulta ya hecho (como vereis, la bd es mas extensa, pero no influye en lo que quiero hacer)
Código MySQL:
Ver originalSELECT tbl_result.result_points
, tbl_rider.rider_name
, tbl_gp.gp_name
, tbl_result.result_position
, DATE_FORMAT(tbl_gp.gp_date
, '%d/%m/%Y') gp_date
, tbl_rider.rider_number
, tbl_gp.gp_id
, SUM(tbl_result.result_points
) points
INNER JOIN tbl_rider
ON tbl_rider.rider_id
= tbl_result.result_rider
INNER JOIN tbl_category
ON tbl_category.category_id
= tbl_rider.rider_category
INNER JOIN tbl_gp
ON tbl_gp.gp_id
= tbl_result.result_gp
WHERE YEAR(tbl_gp.gp_date
) = 2013 AND tbl_category.category_id
= 1
Si uso el SUM(tbl_result.result_points) me devuelve un unico resistro, el que corresponde al id = 1 con la suma de TODOS los puntos de todas las carreras y todos los corredores, lo que quiero es que me devuelva por separado por corredor y carrera, espero que se entienda....
Como podría hacerlo?