Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pusty rekord, Jak wyświetlić
mimol
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mimol
post
Post #2





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
  1. select t1.nazwa, t2.nazwa as nazwa_firmy, COUNT(t1.nazwa) as ilosc from miasta t1 left join pracodawcy t2 on t1.id=t2.miasto_id group by t1.nazwa

jak widać w Polakow`ie nie pracuje żadna firma.
Więc udało mi się to zrobić tak jak wyżej.
lub
  1. select t1.nazwa, t2.nazwa as nazwa_firmy, COUNT(t1.nazwa) as ilosc from miasta t1 inner join pracodawcy t2 on t1.id=t2.miasto_id group by t1.nazwa

ale wtedy nie pokazuje Polakowa

Jak zrobić żeby pokazał Polakowo ilosc = 0?
Go to the top of the page
+Quote Post

Posty w temacie
- mimol   Pusty rekord   28.08.2010, 13:36:17
- - cojack   A wiesz w ogóle dlaczego wystarczyło zmienić z inn...   28.08.2010, 15:05:43
- - mimol   Zadanie. Wypisz ile firm ma swoje siedziby w danym...   28.08.2010, 15:37:33
- - nospor   COUNT masz robic po pracodawcach. Przeciez to ich ...   28.08.2010, 15:48:45
- - mimol   Dzięki   28.08.2010, 16:00:46


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 02:16