Pusty rekord, Jak wyświetlić |
Pusty rekord, Jak wyświetlić |
28.08.2010, 13:36:17
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 |
|
|
28.08.2010, 15:05:43
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. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
28.08.2010, 15:37:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%) |
Zadanie.
Wypisz ile firm ma swoje siedziby w danym mieście. Rozwiązaniem zadania powinien być wynik wyświetlony w dwóch kolumnach: nazwa miasta + ilość firm w danym mieście. Dane mają być posortowane malejąco (największa ilość pierwsza) po ilości firm w mieście. Nazwy zwracanych pól to odpowiednio: nazwa oraz ilosc moje zapytanie jak widać w Polakow`ie nie pracuje żadna firma. Więc udało mi się to zrobić tak jak wyżej. lub ale wtedy nie pokazuje Polakowa Jak zrobić żeby pokazał Polakowo ilosc = 0? |
|
|
28.08.2010, 15:48:45
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 451 Pomógł: 6292 Dołączył: 27.12.2004 |
COUNT masz robic po pracodawcach. Przeciez to ich zliczasz a nie miasta.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
28.08.2010, 16:00:46
Post
#5
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%) |
Dzięki
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 13:58 |