Klaus Mock: Wie löse ich folgendes sql-Problem? (betrifft SELECT)

Beitrag lesen

Hallo,

  1. in der Tabelle "saisonspieltagspielnr1" besteht der Primärschlüssel aus "saison", "spieltag" und "spielnr". Diesem Schlüssel wird jeweils eine Teamnummer eines Teams mit Heimrecht zugeordnet, wobei die Teamnummer der Nummer in Tabelle "teamnr" (s.o.) entspricht. Z.B.
  2. Analog dazu existiert sdie Tabelle "saisonspieltagspielnr2" mit gleichem Primärschlüssel, nur das hier halt das Gastteam angegeben wird:

Warum machst Du aus diesen beiden Tabellen nicht eine, in der die Saison, der Spieltag, die Spielnummer und die beiden 'Kontrahenten' angegeben sind. Meiner Meinung nahc ist eine Aufteilung hier nicht notwendig, ja sogar schlechtes Design.

Das Problem: Ich suche nach einer Abfrage, die mir als Ergebnis lediglich den Namen des Heimteams und den Namen des Gastteams in einer Zeile wiedergibt, also ...

Du mußt die Tabelle, in der die Teams abgespeichert ist ( den Namen 'teamnr' finde ich dafür auch nicht gerade ideal), zweimal einbinden:

SELECT spiele.saison, spiele.datum, heimteam.name AS Heimmannschaft, gastteam.name AS Gastmannschaft
   FROM spiele
   JOIN teams AS heimteam ON heimteam.teamnr = spiele.heimteamnr
   JOIN teams AS gastteam ON gastteam.teamnr = spiele.gastteamnr

(Ungetestet, in Ermangelung einer installierten mySQL-Version)

Grüße
  Klaus