php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.05.2006, 11:00  
Erfahrener Benutzer
 
Registriert seit: 23.12.2004
Beiträge: 255
Riot
Standard Problem mit Count()

Hallo,

ich habe 2 Tabellen für ein Fussballverein. Die erste Tabelle enthält alle Spielerbezogenen Daten. Die zweite Tabelle enthält alle
geschossenen Tore (id, in welchem Spiel, welcher Spieler, welche Saison).



Jetzt will ich den Torschützenkönig, also den mit den meisten Tore der Saison, asgegeben haben, und das will nciht so recht klappen.
Ich habe es folgendermaßen versucht:
PHP-Code:
SELECT s.nameCOUNT(t.spieler_id) AS tore 
FROM spieler s
torschuetzen t
GROUP BY s
.name
MfG
__________________
Webdesign - optimized for user
Riot ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.05.2006, 11:02  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard Re: Problem mit Count()

Zitat:
Zitat von Riot
und das will nciht so recht klappen.
Hübsche Fehlerbeschreibung....

Auf den ersten Blick kein Problem erkennbar, daher von mir die Bitte, dass du mal bischen ausführlicher beschreibst, wo dein Problem liegt. Die oben angegebene Fehlerbeschreibung reicht definitiv nicht aus
mepeisen ist offline   Mit Zitat antworten
Alt 05.05.2006, 11:18  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Aklso jetzt mal so neben bei .. muss da nicht noch 'n WHERE rein .. wobei die beiden Tabellen "verglichen" werden ..

... WHERE s.spieler_id = t.spieler_id ...

Oder so ähnlich .. oder lieg ich da jetzt total daneben ..
M3g4Star ist offline   Mit Zitat antworten
Alt 05.05.2006, 11:35  
Erfahrener Benutzer
 
Registriert seit: 23.12.2004
Beiträge: 255
Riot
Standard

Hallo,

hmm. Fehlerbeschreibung :-) es wird kein Fehler ausgegeben, sondern es werden einfach nur falsche Zahlen ausgegeben. Es sieht so aus als wenn er alle Tore von allen Spielern zusammenzählt.



Laut bild hat:
spieler_id 9 hat 2 Tore geschossen
spieler_id 10 hat 1 Tor geschossen
spieler_id 12 hat 1 Tor geschossen

Und jetzt soll halt der mit den meisten Toren ausgegeben werden, was momentan spieler_id 9 wäre.





PHP-Code:
SELECT s.nameCOUNT(t.spieler_id) AS tore
FROM spieler s
torschuetzen t
GROUP BY s
.name
WHERE s
.spieler_id t.spieler_id
Mit WHERE geht es gar nicht.
__________________
Webdesign - optimized for user
Riot ist offline   Mit Zitat antworten
Alt 05.05.2006, 11:37  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von M3g4Star
Aklso jetzt mal so neben bei .. muss da nicht noch 'n WHERE rein .. wobei die beiden Tabellen "verglichen" werden ..

... WHERE s.spieler_id = t.spieler_id ...

Oder so ähnlich .. oder lieg ich da jetzt total daneben ..
Wenn ebend jenes WHERE nicht drin steht, versucht die Datenbank, gleiche Spaltentitel in Beziehung zu setzen, müsste aber automatisch "a.spieler_id" und "b.spieler_id" als gleich erachten, aber sowohl fürs Verständnis als auch zum Vorbeugen gewisser "Phänomene" sollte man ein INNER JOIN vernünftig ausformulieren.
mepeisen ist offline   Mit Zitat antworten
Alt 05.05.2006, 11:45  
Erfahrener Benutzer
 
Registriert seit: 23.12.2004
Beiträge: 255
Riot
Standard

ahh ich hab's,

Das WHERE muss vor GROUP BY ;-). Das muss einem doch gesagt weden ;-)

so geht es jetzt:
PHP-Code:
SELECT s.nameCOUNT(t.spieler_id) AS tore
FROM spieler s
torschuetzen t
WHERE s
.spieler_id=t.spieler_id
GROUP BY t
.spieler_id
Danke
__________________
Webdesign - optimized for user
Riot ist offline   Mit Zitat antworten
Alt 05.05.2006, 11:56  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

*hm* .. lag ich also doch nicht so schlecht

M3g4Star ist offline   Mit Zitat antworten
Alt 05.05.2006, 12:11  
Erfahrener Benutzer
 
Registriert seit: 23.12.2004
Beiträge: 255
Riot
Standard

Eigentlich hast du den Nagel auf den Kopf getroffen.
Danke

MfG
__________________
Webdesign - optimized for user
Riot ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] count() Problem Datenbanken 2 28.07.2005 15:27
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
phpmyadmin: problem beim übertragen von datensätzen Datenbanken 1 16.07.2005 00:05
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
Kombiniertes Problem mit SELECT und COUNT über 2 Tabellen Datenbanken 6 01.07.2005 14:28
PEAR::DB LimitQuery was ist Count? PHP Tipps 2005-2 3 06.06.2005 18:02
problem mit COUNT in verbindung mit zwei tabellen PHS Datenbanken 6 13.10.2004 10:09
Logfile auswerten/ Problem mit DISTINCT und count und co... supertramp Datenbanken 4 21.09.2004 01:39
[Erledigt] COUNT() Problematik... Datenbanken 2 20.08.2004 13:48
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] MYSQL Count problem Datenbanken 1 02.08.2004 19:38
[Erledigt] Count ?! Rückgabewert macht Problem.... Datenbanken 4 27.07.2004 20:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.