Los equipos de beisbol a veces juegan como home_club y otras veces como visitantes.
Para ello tengo en una tabla las jornadas diarias de juegos y allí guardo la cantidad de carreras hechas tanto en calidad de home_club como visitantes, de la siguiente manera:
Código MySQL:
Ahora deseo saber para un equipo específico (por ejemplo el team_1), el total de carreras que hizo en toda la temporada (como local y visitante), algo así como:Ver original
+------------+------------+--------+--------+-------+-------------------+-------------------+ | jornada | id_team_homeclub | id_team_visitante | carreras_homeclub | carreras_visitante| +------------+------------+--------+--------+-------+-------------------+-------------------+ | 2018-01-06 | TEAM_1 | team_2 | 5 | 2 | | 2018-01-07 | TEAM_1 | team_3 | 4 | 7 | | 2018-01-08 | TEAM_1 | team_4 | 1 | 0 | | 2018-01-09 | team_2 | TEAM_1 | 0 | 1 | | 2018-01-10 | team_2 | team_3 | 5 | 6 | | 2018-01-11 | team_2 | team_4 | 1 | 1 | | 2018-01-12 | team_3 | TEAM_1 | 2 | 3 | | 2018-01-13 | team_3 | team_2 | 1 | 3 | | 2018-01-14 | team_3 | team_4 | 2 | 4 | | 2018-01-15 | team_4 | TEAM_1 | 1 | 1 | | 2018-01-16 | team_4 | team_2 | 3 | 1 | | 2018-01-17 | team_4 | team_3 | 2 | 2 | +------------+------------+--------+--------+-------+-------------------+-------------------+
Código MySQL:
Les cuento que lo he logrado exitosamente con la siguiente consulta, pero quiero saber si esta bien así con los SELECT anidados o si existe otra forma mejor de hacer la consulta Ver original
+-----------+-----------------------+--------------------+-------------+ | Equipo |subtotal_homeclub | subtotal_visitante | carrerastotales +-----------+-----------------+-----------------+----------------------+ | team_1 | 10 | 5 | 15 +-----------+-----------------+-----------------+----------------------+
Código PHP:
Ver original
SELECT subtotal_homeclub, subtotal_visitante, (subtotal_homeclub + subtotal_visitante) AS carrerastotales FROM (SELECT SUM(carreras_homeclub) AS subtotal_homeclub FROM `jornadas` WHERE (id_team_homeclub = '1')) AS homeclub INNER JOIN (SELECT SUM(carreras_visitante) AS subtotal_visitante FROM `jornadas` WHERE (id_team_visitante = '1')) AS visitante