Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Optymalizacja zapytania, Z dwóch tabel
Tomplus
post 28.02.2011, 15:44:51
Post #1





Grupa: Zarejestrowani
Postów: 1 844
Pomógł: 227
Dołączył: 20.03.2005
Skąd: Będzin

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


Witam,

Chcialbym się dowiedzieć czy i jak można poprawić następujący kod:

  1. $z = "SELECT `id`,`home`,`away` FROM `wyniki` WHERE `kolejka`={$kolejka} ORDER BY `id` ";
  2. $wq = mysql_query($z);
  3. while($w = mysql_fetch_array($wq))
  4. {
  5. $h = mysql_fetch_array(mysql_query("SELECT `skrot` FROM `kluby` WHERE `id` = {$w['home']}"));
  6. $a = mysql_fetch_array(mysql_query("SELECT `skrot` FROM `kluby` WHERE `id` = {$w['away']}"));
  7. }


Mam tutaj 3 zapytania
Pętle która wyświetla wyniki oraz dwa zapytania które pobierają tylko jedną informacje "skrót" dla drużyny gospodarza i goscia.

Gdybym musiał pobrać tylko jedną z tych dwóch informacji to wykorzystałbym INNER JOIN, nawet wtedy potrafibym aby pobrało wpis tych dwóch klubów ale nie ma się pewności czy prawidłowo będzie przypisane home i away.

Czy jest to możliwe aby przy przypisać konkretną wartość z tabeli kluby do wartości z prefixem home lub away ?
home_skrot

Ten post edytował Tomplus 28.02.2011, 16:31:50
Go to the top of the page
+Quote Post
ylk
post 28.02.2011, 16:06:01
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


To można zrobić jednym zapytaniem, np tak:
  1. SELECT w.id, w.home, w.away, k1.skrot AS skrot1, k2.skrot AS skrot2 FROM wyniki w JOIN kluby k1 ON w.home=k1.id JOIN kluby k2 ON w.away=k2.id WHERE w.kolejka='$kolejka' ORDER BY w.id ASC

Pisane z palca więc mogłem się walnąć ;P
Go to the top of the page
+Quote Post
Tomplus
post 28.02.2011, 16:35:32
Post #3





Grupa: Zarejestrowani
Postów: 1 844
Pomógł: 227
Dołączył: 20.03.2005
Skąd: Będzin

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


Czyli po prostu podwójny JOIN ?
to nie może być takie proste... tongue.gif



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 Wersja Lo-Fi Aktualny czas: 11.06.2024 - 21:41