Tabellen verbinden

Begonnen von bert, 10 Oktober 2006, 21:51:33

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

bert

Hi,
ich habe folgendes Problem und finde keine Lösung trotz Internetsuche.
Ich hoffe mir kann einer von Euch Profis helfen.

Ich habe 2 Tabellen mit folgenden Aufbau

Tabelle 1 "team"

id_team | team  | ort |

1          | max    | musterort
2          | moritz  | musterstadt

Tabelle 2 " spielplan"

heim_id|gast-id|datum

1         | 2       | 10.10.2006

Jetzt möchte ich eine Abfrage von Tabelle 2 " spielplan" erstellen die folgendes Ergebnis anzeigt.

max gegen moritz in musterort am 10.10.2006

Ich hoffe Ihr könnt mir helfen.

Gruss Bert



reddragon

wahrscheinlich in php oder?

wenn es eine sql-Abrage wäre, dann hätte ich hier was...

bert

Danke für Deine Antwort reddragon,

du hast recht, es soll mit php sein.

Gruß Bert

Andi

Moin :)

naja, die Grundlage aller tabellenauswertungen mit php ist ja wahrscheinlich eine sql-Abfrage ;)

Stichwort ist da "Select und Join"

http://dev.mysql.com/doc/refman/4.0/de/select.html
http://dev.mysql.com/doc/refman/4.0/de/join.html
schön´s Grüssle, Andi

bert

Hi,
einen Teil der Abfrage habe ich geschaft und jetzt fehlt mir der 2.
vielleicht kann mir da einer helfen.
die Variable $team -----> ist für die Tabelle team
die Variable $spielplan--> ist für die Tabelle spielplan

folgende Abfrage habe ich jetzt




$qry = "SELECT $team.id_team ,$team.team AS heim,
                      $team.team AS gast, $spielplan.heim_id,
                      $spielplan.gast_id, $spielplan.spieldatum,
                      $spielplan.runde
                      FROM $spielplan
         JOIN $team ON  $spielplan.heim_id = $team.id_team
         ORDER BY $spielplan.id";





Jetzt bekomme ich die richtigen Daten für das Heimteam, aber mein Problem ist noch das Gastteam!!!!!

Ich bekomme es einfach nicht hin trotz Doko lesen.

Wer kann mir dabei helfen??????

Gruss Bert

jubilee

Zitat
$qry = "SELECT $team.id_team ,$team.team AS heim,
                      $team.team AS gast, $spielplan.heim_id,
                      $spielplan.gast_id, $spielplan.spieldatum,
                      $spielplan.runde
                      FROM $spielplan
         JOIN $team ON  (($spielplan.heim_id = $team.id_team) OR ($spielplan.gast_id = $team.id_team))
         ORDER BY $spielplan.id";


Denke aber man müsste er mit subselects arbeiten, damit das alles vernünftig angezeigt und ausgelesen wird.

bert

Danke für Deine Hilfe jubilee,

das mit dem OR funzt nicht, aber ich habe die Lösung gefunden!!!!!!


jubilee

Zitatdas mit dem OR funzt nicht, aber ich habe die Lösung gefunden!!!!!!
Und die lautet ? ? ? ?

bert

Hi, jubilee und die Anderen

entschuldigung, dass ich die Lösung nicht gepostet habe,
ich hatte da keine Zeit gehabt.

Aber hier ist sie für alle die es interessiert.
Hier nochmals der Aufbau der einzelnen Tabellen, da ich in meinem
ersten Beitrag das ganze etwas gekürzt habe.

Tabelle //${prefix}_liga_spielplan //

id_spiel | spieldatum | runde| heimteam|gastteam|und weitere die ich später benötige
----------------------------------------------------------------------------
1            timestamp      h          1              2
2            timestamp      r           2              1

Tabelle //${prefix}_liga_team //

id | id_team|spieltag   |      team  | und weitere die ich später benötige
----------------------------------------------------------------------------------------
1        1      Dienstag      Muster
2        2      Mittwoch       Newbie ---> (der ich bin)
3        3      Montag        Tüftler  ---> (der ich auch bin)

und mit nachfolgender Abfrage bekomme ich folgendes Ergebnis, was auch meine Frage an Euch war

Heimteam|Gastteam| und weitere
-----------------------------------------------
Muster         Newbie
Newbie         Muster
            usw.

             


$qry = "SELECT  s.id_spiel, s.spieldatum , t1.spieltag ,t1.team AS heimteam, t2.team AS gastteam, s.runde, t1.ort
       FROM ${prefix}_liga_spielplan AS s
       JOIN ${prefix}_liga_team AS t1 ON t1.id_team = s.heimteam
       JOIN ${prefix}_liga_team AS t2 ON t2.id_team = s.gastteam";




Ich hoffe, dass ich anderen Usern auch einmal helfen konnte, die so ein ähnliches Problem haben.
In diesem Forum wurde mir schon oft geholfen bzw. habe ich mir Anregungen geholt.
Deshalb ein ganz großes und dickes Lob an die Redakteure!!!!! ;)

Ich erstelle derzeit ein LIAG_MODUL für Volleyball ( auch diese Sportart gibt es) und wenn es fertig ist,
werde ich es Euch zu Verfügung stellen bzw vorstellen.

Oh meine Frau hat gerufen und die braucht mich auch einmal also bis bald

Euer bert