![]() |
Datenbank: MySQL • Version: 4.1.20 • Zugriff über: php
Select Probleme mit Summieren
Hallo Zusammen
Ich habe ein kleines Problem mit einer Abfrage ich habe zwei Tabelle die so aufgebaut sind. Tabelle: Spieler id, vorname, nachname, land 1, Hans, Muzel, Deutschland 2, Josef, Burtscher, Schweiz 3, Wolfgang, Müller, Österreich 4, Ernst, Stark, Deutschland usw. Tabelle: Gewinner id, turnier_nr, datum, spieler_id, plazierung, punkte 1, 2007-1, 10.04.2007, 1, 1, 100 2, 2007-1, 10.04.2007, 2, 2, 90 3, 2007-1, 10.04.2007, 3, 3, 80 4, 2007-1, 10.04.2007, 4, 4, 70 5, 2007-1, 10.04.2007, 5, 5, 60 6, 2007-1, 10.04.2007, 6, 6, 50 7, 2007-1, 10.04.2007, 7, 7, 40 8, 2007-1, 10.04.2007, 8, 8, 30 9, 2007-1, 10.04.2007, 9, 9, 20 10, 2007-1, 10.04.2007, 10, 10, 10 11, 2007-2, 12.04.2007, 5, 1, 100 12, 2007-2, 12.04.2007, 4, 2, 90 13, 2007-2, 12.04.2007, 12, 3, 80 14, 2007-2, 12.04.2007, 3, 4, 70 15, 2007-2, 12.04.2007, 1, 5, 60 16, 2007-2, 12.04.2007, 8, 6, 50 17, 2007-2, 12.04.2007, 14, 7, 40 18, 2007-2, 12.04.2007, 20, 8, 30 19, 2007-2, 12.04.2007, 21, 9, 20 20, 2007-2, 12.04.2007, 15, 10, 10 usw. wie bekomme ich das folgende Ergebnis her alle Spieler Namen mit der gesamt Anzahl der Punkte Ergebnis Tabelle: Spieler Name, Land, gesamt Punkte Gruss Tau |
Re: Select Probleme mit Summieren
Hallo Tau,
vielleicht so...
SQL-Code:
Gruss
SELECT vorname, nachname, land, gesamtPunkte
FROM spieler s LEFT JOIN (SELECT id, SUM(punkte) gesamtPunkte FROM gewinner GROUP BY id) g ON s.id = g.id Thorsten |
Re: Select Probleme mit Summieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Thorsten
Danke für deine Schnelle Antwort leider ist das Ergebnis mit den gesamtPunkte falsch. Es wird keine Summe der Punkte gebildet. vorname nachname land gesamtPunkte 1 Vorname 1 Nachname Deutschland 100 2 Vorname 2 Nachname Deutschland 90 3 Vorname 3 Nachname Österreich 80 4 Vorname 4 Nachname Deutschland 70 5 Vorname 5 Nachname Österreich 60 6 Vorname 6 Nachname Deutschland 50 7 Vorname 7 Nachname Österreich 40 8 Vorname 8 Nachname Deutschland 30 9 Vorname 9 Nachname Österreich 20 10 Vorname 10 Nachname Deutschland 10 ich habe eine Text Datei mit Demo Daten beigefügt Gruss Tau |
Re: Select Probleme mit Summieren
Ok, ich habe wohl die falsche Spalte in Gewinner genommen...
SQL-Code:
Gruss
SELECT vorname, nachname, land, gesamtPunkte
FROM spieler s LEFT JOIN (SELECT spieler_id, SUM(punkte) gesamtPunkte FROM gewinner GROUP BY spieler_id) g ON s.id = g.spieler_id Thorsten |
Re: Select Probleme mit Summieren
Bei Omata ist von einem WHERE nichts zu sehen. Packe das doch gleich in eine SP.
SQL-Code:
Die Datenmenge wäre dann da und könnte verarbeitet werden. Ungetestet, nur eingetippt ! Auch Syntax.
CREATE PROCEDURE ERMITTLE_SUMME (
ID_SPIELER integer) returns ( NAME, GESPUNKTE integer) as BEGIN FOR SELECT NAME, SUM (PUNKTE) AS GESPUNKTE FROM TABLEX WHERE (ID_SPIELER=:ID_SPIELER) ORDER BY NAME GROUP BY GESPUNKTE DO SUSPEND; END^ |
Re: Select Probleme mit Summieren
Hallo Hansa,
wieso muss man für so eine einfach Abfrage eine SP bauen? Und wozu wird ein WHERE benötigt? Verwirrte Grüsse Thorsten |
Re: Select Probleme mit Summieren
Hallo Thorsten
Danke Funktioniert :witch: :dancer2: :dancer: schöne Grüsse Tau |
Re: Select Probleme mit Summieren
Zitat:
|
Re: Select Probleme mit Summieren
Allerdings wird ihm eine IB/FB-SP bei MySQL wenig nützen.
|
Re: Select Probleme mit Summieren
@Omata,
Wieso Subselects bemühen.
SQL-Code:
Subselects sind nicht indiziert und somit in der Regel langsamer.
select s.vorname, s.nachname, s.land, sum(g.punkte) as gesamtPunkte
from spieler s left join gewinner g on s.id = g.spieler_id group by s.vorname, s.nachname, s.land |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz