Hallo,
ich stehe gerade vor einer großen Kopfnuss - ich hoffe hier kann mir jemand weiterhelfen.
Ich möchte gern mit meinen Fußballergebnissen eine Blitztabelle darstellen.
Folgende Datenstruktur ist vorhanden:
Tabelle Spiele
spiele_id | datum | tore_heim | tore_gast | mannschaft_heim | mannschaft_gast | beendet
33236 | 2015-08-14T20:30:00 | 5 | 0 | 74 | 103 | 1
33237 | 2015-08-15T15:30:00 | 2 | 2 | 23 | 71 | 1
Tabelle Verein
verein_id | name | liga_id
74 | Hannover 96 | 1
103 | Dortmund | 1
71 | Bielefeld | 2
23 | Köln | 2
Wie bekomme ich es hin, dass aus den verschiedenen Ligen eine Blitztabelle entsteht mit folgenden Werten:
- Platz, Name, Spiele, Siege, Unentschieden, Niederlagen, Tore, Differenz, Punkte
Folgende Ansätze habe ich, jedoch möchte ich die gerne zusammenführen und nicht alles einzeln machen.
SELECT SUM(totalGoals) Tore
FROM
(
select sum(tore_heim) totalGoals from spiele WHERE beendet = 1 AND mannschaft_heim = 74
UNION ALL
select sum(tore_gast) totalGoals from spiele WHERE beendet = 1 AND mannschaft_gast = 74
) s;
SELECT SUM(againstGoals) Gegentore
FROM
(
select sum(tore_gast) againstGoals from spiele WHERE beendet = 1 AND mannschaft_heim = 74
UNION ALL
select sum(tore_heim) againstGoals from spiele WHERE beendet = 1 AND mannschaft_gast = 74
) s;
select mannschaft_heim, mannschaft_gast, tore_heim, tore_gast,
if((tore_heim > tore_gast),1,0) AS sieg_heim,
if((tore_heim = tore_gast),1,0) AS remis,
if((tore_heim < tore_gast),1,0) AS sieg_gast
from spiele
where beendet = 1 AND (mannschaft_heim = 74 OR mannschaft_gast = 74);
Jemand eine Idee?
Vielen Dank!
ich stehe gerade vor einer großen Kopfnuss - ich hoffe hier kann mir jemand weiterhelfen.
Ich möchte gern mit meinen Fußballergebnissen eine Blitztabelle darstellen.
Folgende Datenstruktur ist vorhanden:
Tabelle Spiele
spiele_id | datum | tore_heim | tore_gast | mannschaft_heim | mannschaft_gast | beendet
33236 | 2015-08-14T20:30:00 | 5 | 0 | 74 | 103 | 1
33237 | 2015-08-15T15:30:00 | 2 | 2 | 23 | 71 | 1
Tabelle Verein
verein_id | name | liga_id
74 | Hannover 96 | 1
103 | Dortmund | 1
71 | Bielefeld | 2
23 | Köln | 2
Wie bekomme ich es hin, dass aus den verschiedenen Ligen eine Blitztabelle entsteht mit folgenden Werten:
- Platz, Name, Spiele, Siege, Unentschieden, Niederlagen, Tore, Differenz, Punkte
Folgende Ansätze habe ich, jedoch möchte ich die gerne zusammenführen und nicht alles einzeln machen.
SELECT SUM(totalGoals) Tore
FROM
(
select sum(tore_heim) totalGoals from spiele WHERE beendet = 1 AND mannschaft_heim = 74
UNION ALL
select sum(tore_gast) totalGoals from spiele WHERE beendet = 1 AND mannschaft_gast = 74
) s;
SELECT SUM(againstGoals) Gegentore
FROM
(
select sum(tore_gast) againstGoals from spiele WHERE beendet = 1 AND mannschaft_heim = 74
UNION ALL
select sum(tore_heim) againstGoals from spiele WHERE beendet = 1 AND mannschaft_gast = 74
) s;
select mannschaft_heim, mannschaft_gast, tore_heim, tore_gast,
if((tore_heim > tore_gast),1,0) AS sieg_heim,
if((tore_heim = tore_gast),1,0) AS remis,
if((tore_heim < tore_gast),1,0) AS sieg_gast
from spiele
where beendet = 1 AND (mannschaft_heim = 74 OR mannschaft_gast = 74);
Jemand eine Idee?
Vielen Dank!