AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL: Wieviele Teile gehören zum Ganzen?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL: Wieviele Teile gehören zum Ganzen?

Ein Thema von Angel4585 · begonnen am 12. Aug 2012 · letzter Beitrag vom 13. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2      
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:04
Datenbank: MySQL • Version: 5 • Zugriff über: PHP
Hallo
Ich habe ein kleines Problem in SQL.

Ich habe insgesamt drei Tabellen:
League(level,index,name)
Team(id,townid,name)
LeagueTeam(level,index,townid,teamid)

Jetzt brauche ich eine SQL-Abfrage die mir folgendes Ergebnis ausspuckt:
TeamsInLeague(level,index,town,teamcount)

Also wieviele Teams wurden der Liga zugeordnet.


Habs mitfolgender Anfrage versucht:
Code:
SELECT l.level, l.index, lt.townid, count( * ) teamcount
FROM League l
LEFT JOIN LeagueTeam lt ON lt.level = l.level
AND lt.index = l.index
GROUP BY l.level, l.index
Passt solange mehr als 0 Teams in der Liga sind.
Aber wenn 0 Teams in der Liga sind, bekomme ich für teamcount trotzdem 1.
irgendwie muss ich anders arbeiten mit dem count(*) aber ich komm nicht drauf wie
Habt Ihr ne Idee?

PS: Mit Sub-Select wäre es mir prinzipiell klar wie es geht,einfach ein zweites select in das count reinmachen, aber ich möchte es lieber mit join lösen, wenn möglich.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:10
Muss das nicht ein INNER JOIN sein?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:15
beim inner join bekomm ich keine Einträge für die Ligen mit 0 Teams, die brauch ich allerdings eher als die Ligen die "voll" sind
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:16
Ich verstehe die ganze Struktur nicht. Das sieht aus wie eine m:n-Beziehung, aber dazu müsste ein Team ja theoretisch in mehreren Ligen gleichzeitig spielen können. Vielleicht erläuterst Du das Ganze noch einmal kurz etwas ausführlicher.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:22
Naja zu einem Zeitpunkt ist ein Team immer nur in einer Liga, aber irgendwann steigt es mal auf oder ab und wechselt die Liga.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:27
Das ist mir schon klar, aber dann braucht man noch ein Datumsfeld (oder eine Saison-Kennzeichnung), oder willst Du alle Team-Liga-Zuordnungen, die jemals existiert haben?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:52
hmm.. stimmt eigentlich, ne saison wäre nicht verkehrt.. und die auswertung brauche ich dann natürlich für die aktuellste saison
Saison wäre dann eine Extra-Tabelle deren ID mit bei LeagueTeam dabei wäre.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 12:54
Japp, das müsste stimmen (welches Team in welcher Saison in welcher Liga). Zusätzlich würde ich dann über diese 3 Felder noch einen UNIQUE-Index legen.

[edit] Quatsch, der Index müsste auf der Team-Saison-Kombination liegen, ohne Liga. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#9

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 13:00
Ja macht sinn da ienen unique index reinzumachen.
Ich probier mal bissl mit der neuen Tabelle rum,ob ich dadurch evtl auf ne gescheite Lösung für die Abfrage komme.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

AW: SQL: Wieviele Teile gehören zum Ganzen?

  Alt 12. Aug 2012, 17:18
Naja zu einem Zeitpunkt ist ein Team immer nur in einer Liga, aber irgendwann steigt es mal auf oder ab und wechselt die Liga.
Dann wäre es wohl sehr sinnvoll den Key der Liga in der Tabelle "Team" zu speichern.
Und die Tabelle "LeagueTeam" wird gelöscht und statt dessen die Tabelle "TeamHistory" erstellt.
Code:
table TeamHistory
=======================================================
IdTeamHistory  | IdTeam | IdLeague | DateFrom | DateTo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz