Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dwa klucze obce z jednej tabeli
Thorgal
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 8.08.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Musisz użyc dwa left join
Identyczny problem
http://forum.nospor.pl/programowanie/bazy-...-join-ft22.html


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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 ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:40