Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Złączanie tabel z danymi
kkuubbaa88
post
Post #1





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


witam

złączam kilka tabel ze sobą po głównym id. przykładowo pole o nazwie 'id_wiersza' ma każda tabela i jest w niej numer, który identyfikuje każdy z wierszy. Podczas złączenia następuje połączenie wszystkich tabel bez względu na to czy istnieje dany wiersz czy tez nie. dlatego do części używam inner join, a do niektórych left join.

problem polega na tym, że używając polecenia left join w momencie gdy podłączam tabele, w której nie znajduje się podany wierszy o tym samym id dane mimo tego są dopisywane do wyników w formie pól z zawartością NULL. Chciałbym podpinać tylko te tabele w których znajduje się dany wiersz.

haczyk jest w tym, że podczas zapytania złączam wszystkie tabele ze sobą i chciałbym, aby wynik był bez pól z tabel, które nie posiadają danego wiersza.

jak to zrobic ? jakie polecenie trzeba zadac ? czy w ogóle jest to możliwe ?

pozdrawiam

czy ktoś może pomóc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A to nie możesz dać w warunku, że określone pole jednej z tabel nie może być NULL? Ja tak wycinam wiersze i działa (IMG:style_emoticons/default/winksmiley.jpg) Masz tabele - łączysz. Któraś z nich nie ma odpowiednika - wypełnia się nullami jak sam zauważyłeś. Wybieram którąś z kolumn tej dołączanej (najlepiej ta po której łączysz, bo na pewno wtedy będzie NULL) i w WHERE określam, że nie ma być tam NULL. Tak się wycina owe niepołączone z niczym wiersze. Warunek walisz jako AND dla każdej dołączanej tabeli. JOINujesz w sumie 5 tabel? To będzie 5 razy AND kolumna ISNOTNULL (IMG:style_emoticons/default/smile.gif) Sprawdź sam (IMG:style_emoticons/default/winksmiley.jpg)
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: 5.10.2025 - 06:25