Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Podwójne połączenie dwóch tabel
muaddib
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.11.2009

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


Witam. Proszę o pomoc w nastepującym problemie.

Istnieją sobie dwie tabele w MySql:

(IMG:http://www.muaddib.cba.pl/ftp/temp.jpg)


Wyobraźmy sobie sytuacje, że tabela TEMP ma służyć jako swoisty terminarz meczy pomiędzy drużynami z tabeli TEAMS.

I tak np w TEMP w rekordzie pierwszym w kolumnie A będzie przechowywane ID drużyny z tabeli TEAMS , podobnie w kolumnie B będzie przechowywane ID drużyny z tabeli TEAMS. Taki rekord da nam parę drużyn grających w pierwszej kolejce ligi itp.

Problem pojawia się gdy tworzę zapytanie MySQL

  1. SELECT * FROM temp, teams WHERE a = teams.id


Takie zapytanie nie da satysfakcjonującego wyniku, gdyż będzie brakować kolumn powiązanych z drużyną B.
Logicznym rozwiązaniem wydaje się napisać:

  1. SELECT * FROM temp, teams WHERE a = teams.id AND b = teams.id


lecz to powoduje pusty wynik.

Wytłumaczcie mi prosze jak mogę uzyskać wynik zawierający w jednym wierszu kolumny jednej i drugiej druzyny.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
john_doe
post
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


musisz zaaliasować tabele i powinno zadziałać

  1.  
  2. SELECT * FROM temp t JOIN teams teamA ON t.a = teamA.id
  3.  
  4. JOIN teams teamB ON t.b = teamB.id
  5.  
  6.  


coś a`la (IMG:style_emoticons/default/smile.gif)

Ten post edytował john_doe 20.09.2011, 07:33:45
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.09.2025 - 16:08