Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwa klucze obce z jednej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
Thorgal
Witam,
tworzę bazę danych ze statystykami drużyny piłkarskiej.
Tabele:

mecze
* id_meczu
- data
- id_gospodarzy
- id_gosci
- wynik

drużyny
* id_druzyny
- nazwa

Jak zrobić, żeby pola gospodarze i goście z tabeli mecze były kluczami obcymi z tabeli drużyny?
Problem pojawia się przy tworzeniu zapytania.

SELECT m.id_meczu, d.nazwa as gospodarze, d.nazwa as goscie
FROM mecze as m, druzyny as d
WHERE id_gospodarzy=id_druzyny AND id_gosci=id_druzyny

Nigdy wcześniej nie spotkałem się z takim problemem dlatego proszę o pomoc.
nospor
Musisz użyc dwa left join
Identyczny problem
http://forum.nospor.pl/programowanie/bazy-...-join-ft22.html
Crozin
Musisz dwukrotnie dołączyć tabelę z drużynami:
  1. SELECT ...
  2. FROM mecze m
  3. INNER JOIN drużyny d1 ON m.id_gospodarzy = d1.id_drużyny
  4. INNER JOIN drużyny d2 ON m.id_gości = d2.id_drużyny
  5. ...
Oczywiście w klauzuli SELECT będziesz musiał dodać każdą kolumnę z tabeli drużyny osobno pod unikalnym aliasem, przykładowo:
  1. ... d1.nazwa AS gospodarze_nazwa, d2.nazwa AS goście_nazwa ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.