Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie danych z dwoch tabel jednoczesnie
spit
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Czesc,
Chce pobierac z dwoch tabel [biografia i muzycy] dane jednoczesnie [w jednym zapytaniu]. Napisalem taki kod:
  1. <?php
  2. SELECT a.*, SELECT b.* as muzycy FROM biografia a LEFT JOIN muzycy b ON (a.nazlnk = b.zespol)
  3. ?>
lecz niestety nie dziala, nie wiem co jest zle. Dane maja odpowiadac sobie w nast. sposob biografia.nazlnk = muzycy.nazwisko. Co robie zle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spit
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 1.08.2005

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


Dobra, jest tak
  1. SELECT biografia.*, muzycy.* FROM biografia, muzycy WHERE biografia.nazlnk = muzycy.nazlnk AND muzycy.nazlnk='$band'
i niby dziala, ale gdy jest wiecej niz jeden czlonek zespolu, to wszystko wyswietlane jest tyle razy ile ludzi w zespole. Jak sobie z tm poradzic?
Go to the top of the page
+Quote Post
mysz
post
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 26.08.2006
Skąd: Szczecin

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


Cytat(spit @ 21.02.2007, 15:53:51 ) *
  1. SELECT biografia.*, muzycy.* FROM biografia, muzycy WHERE biografia.nazlnk = muzycy.nazlnk AND muzycy.nazlnk='$band'
i niby dziala, ale gdy jest wiecej niz jeden czlonek zespolu, to wszystko wyswietlane jest tyle razy ile ludzi w zespole.


Bo dostajesz produkt kartezjański. Nie rób "niejawnych" joinów, tylko zastosuj left join.
  1. SELECT a.*, b.* FROM a LEFT JOIN b ON b.id = a.id WHERE a.id = 'cos'
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: 15.10.2025 - 12:18