szymon91
1.10.2008, 15:02:05
Witajcie! Dopiero zaczynam przygode z MySql, ale już mam problem. Moja sprawa przedstawia się następująco. Mam dwie tabele:
1. Drużyny ( kolumny : id, nazwa drużyny)
2.Wyniki (kolumny : NumerKolejki, Mecz1Gospodarz, Mecz1Gosc, ..itd) W kolumnach Mecz1Gospodar, itd. znajdą się id drużyn z tabeli Drużyny.
Jak stworzyć zapytanie, które przedstawi tablekę Mecze, gdzie zamiast id drużyn pokazywane będą ich nazwy?
Z góry dziękuje za odpowiedź.
Pozdrawiam,
Szymon
webasek
1.10.2008, 15:18:22
Poczytaj join inner join left join i right join napewno znajdzeisz
szymon91
1.10.2008, 15:40:49
Zrobilem coś takiego
SELECT NazwaDruzyny
FROM wyniki INNER JOIN Druzyny ON Druzyny.Id = wyniki.Mecz1Gospodarz;
ale to nie jest co ja dokladnie chcialem i poza tym tylko dla jednej lolumny :/ wie ktos jak zrobic poprawne zapytanie?
melkorm
1.10.2008, 15:55:02
SELECT * , Druzyny.NazwaDruzyny AS gospodarz, goscie.NazwaDruzyny AS gosc FROM wyniki INNER JOIN Druzyny ON Id = wyniki.Mecz1Gospodarz INNER JOIN Druzyny goscie goscie.Id = wyniki.Mecz1Gosc;
Nie jestem pewien czy zadziałą ...i czy w ogóle poprawnie ... pisane na kacu^ :/
szymon91
1.10.2008, 16:13:38
Melkorm, ja nie mam tabelki 'goscie', ani 'gospodarze' mam po prostu tabele 'druzyny'. Druga tabela zawiera informacje o tym kto byl gospodarzem, a kto gosciem danego meczu, lecz nie są to nazwy tych druzyn tylko ich ID z tabelki 'druzyny', a ja chce wlasnie wykonac takie zapytanie zeby wyswietlalo zawartos tabeli 'wyniki', w ktorej zamiast id bylyby nazwy druzyn. Uff mysle ze zrozumiale
melkorm
1.10.2008, 16:19:28
eh. zapytanie jest dobre z punktu widzenia tabel ....
NNER JOIN Druzyny goscie
Danym tabelą możesz nadawać różne aliasy by wtedy manipulować zmiennymi z danej tabelki szczególnie jak w tym wypadku gdzie pobierasz tabelko o tych samych nazwach pol i zeby je rozroznic w zapytaniu

szkoda że nawet nie przetestowałeś :<