![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam dwie tabele które wyglądają tak:
tabela pracodawcy id....|miasto_id.......|nazwa........... 1.....|1....................|Budo-remont 2.....|4....................|HiTech 3.....|3....................|Studentowo 4.....|5....................|Szop-Pracz 5.....|2....................|Telefonika S.A. 6.....|1....................|Interneto sc. 7.....|1....................| Poczta Misiowa tabela miasta id....|nazwa.........|ludnosc 1.....|Pcim dolny...|1234 2.....|Mala wies....|310 3.....|Dwor...........|55000 4.....|Stolicowo....|3000000 5.....|Srednia wies|7235 6.....|Polakowo....|345000 chciałbym wyświetlić nazwę miasta + nazwa firmy dając takie zapytanie Kod select t1.nazwa, t2.nazwa as nazwa_firmy from miasta t1 inner join pracodawcy t2 on t1.id=t2.miasto_id Jest prawie dobrze jednak nie otrzymuje rekordu z miastem Polakowo w którym nie pracuje żadna firma.. Jak powinno wyglądać to zapytanie żeby była nazwa miasta i np puste miejsce na firme? Znalazłem sam odpowiedź wystarczyło zamienić z inner join na left join Ten post edytował mimol 28.08.2010, 14:11:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
A wiesz w ogóle dlaczego wystarczyło zmienić z inner join na left join? Bo mi się nie wydaje.
INNER JOIN - nie zwraca wiersza gdy nie znajdzie dopasowania. LEFT JOIN - dołącza wyniki z lewej kolumny mimo iż nie znajdzie powiązania z prawą kolumną, resztę NULLuje RIGHT JOIN - na odwrót jak left join FULL JOIN - zwróci wiersze jak znajdzie w którejkolwiek tabel. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 02:18 |