Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySQL - pobieranie z dwóch tabel z możliwością opuszczenia jednej, czyli co robić, gdy Left join nie wystarczy
L_Devil
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


Witam!

Mam dwie tabele:
Tabela1
id
rekord
costam


Tabela2
id
costam2

Chcę wybrać wszystko z tabeli 1 (wg. zadanych kryteriów) i wszystkie rekordy z tabeli 2 których pole id jest równe polu owner tabeli 1. Chcę mieć w jednym rzędzie wyników zarówno wyniki z tabeli 1 jak i tabeli 2 (o ile istnieje odpowiadający rekord tabeli 2 - a nie zawsze istnieje). Próbowałem LEFT JOIN, ale jeżeli rekord tabeli 2 nie istnieje, to rekord tabeli 1 jest pomijany, a mi chodzi żeby rekord z tabeli 1 był zawsze zwracany.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
L_Devil
post
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


  1. SELECT `t1`.`costam` AS `costam`, `t2`.`costam2` AS `costam2` FROM `Tabela1` AS `t1` LEFT JOIN `Tabela2` AS `t2` ON `t2`.`id` = `t1`.`rekord` WHERE `t1`.`costam` LIKE '%warunek%';
To jednak pominie te rekordy Tabela1, które nie posiadają odpowiednika w Tabela2. A mnie chodzi żeby rekord z Tabela1 został _zawsze_ wybrany

Ten post edytował L_Devil 13.08.2008, 16:47:29
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: 13.10.2025 - 22:02