Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych wyst. w 2 tabelach
yook
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.07.2005

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


Witam.

Mój problem jest następujący. Powiedzmy, że mam dwie tabele w bazie danych z jakimiś tam danymi.

# tabela1
id | nazwa
1 | asd
2 | abc
3 | dsa
...

# tabela2
id | nazwa
1 | bfd
2 | ehb
3 | asd
...

Pytanie:
Jak za pomocą SELECT'a pobrać te rekordy, które występują w obydwu tabelach (w powyższym przykładzie 'asd') ?

Próbowałem tak:
  1. <?php
  2.  
  3. $tab1=mysql_query(&#092;"SELECT * FROM tabela1\");
  4. while($rzad1 = mysql_fetch_array($tab1)) 
  5. {
  6. $tab2=mysql_query(&#092;"SELECT * FROM tabela2 WHERE nazwa='$rzad1['nazwa']' \");
  7. while($rzad2 = mysql_fetch_array($tab2)) 
  8. {
  9. echo $rzad2['nazwa'].&#092;"<br>\";
  10. }
  11. }
  12.  
  13. ?>

...ale coś nie wychodziło.

Z góry dzięki za pomoc. Pozdrawiam, yook.
Go to the top of the page
+Quote Post
xamil
post
Post #2





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 9.01.2005

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


Kod
WHERE nazwa='".$rzad1['nazwa']."'


Ale do porównywania dwóch tabel jest jakaś inna prosta i zasobo oszczędna metoda;) Jaka? Nie wiem;) Nie miałem potrzeby używać;)


W sumie to chyba można zrobić coś takiego...
Kod
SELECT tabela1.nazwa FROM tabela1, tabela2 WHERE (tabela1.nazwa=tabela2.nazwa);

... ale nie jestem pewien;)

Ten post edytował xamil 15.07.2005, 23:19:05
Go to the top of the page
+Quote Post
SongoQ
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Mozesz tez zastosowac LEFT JOIN
Go to the top of the page
+Quote Post
yook
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.07.2005

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


Kod
SELECT tabela1.nazwa FROM tabela1, tabela2 WHERE (tabela1.nazwa=tabela2.nazwa);

Działa ok. Mam jeszcze pytanie, jakby ten kod wyglądał jakbym chciał pobrać dane występujące np, w 3 tabelach ?

I czy ktoś mi może mniej więcej wytłumaczyć jak w tym przypadku skorzystać z funkcji LEFT JOIN ?

Dzięki za pomoc. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
SongoQ
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Tak samo dokladasz dodatkowa tabele i dajesz warunek.

LEFT JOIN laczy tak samo jak ten powyzej, ale gdy nie ma dopasowania to uzupelnia NULLami, poszukaj no forum czesto sie to pojawia.
Go to the top of the page
+Quote Post

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: 9.09.2025 - 12:34