Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] group by
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


napisalem takie zapytanie


$query1 = mysql_query("SELECT region.name, COUNT(image.id) FROM image, region WHERE image.region = region.idr GROUP BY region.name") or die(mysql_error());


Zapytanie dziala dobrze z tym,ze nie do konca tak jakbym chial,tzn. Powedzmy ze tabele wygladaja tak:

region
region name
[1] [mazury]
[2] [gory]
[3] [morze]
[4] [slask]
[5] [kujawy]

image
id idr
[1] [2]
[2] [2]
[3] [1]
[4] [5]
[5] [5]

I wtedy gdy dla jakiegos regionu nie ma zadnego zdjecia to zamiast rezultat wygladac tak:
region
[mazury] [1]
[gory] [2]
[morze] [0]
[slask] [0]
[kujawy] [2]

To wyglada tak:
[mazury] [1]
[gory] [2]
[kujawy] [2]

Czyli jak nie znajdzie dla danego regionu zdjecia w drugiej tabeli to pomija ten region calkwoicie zamiast go wypisac i obok dac 0.

Ten post edytował Bojakki 1.11.2006, 16:02:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
venomz
post
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 18.09.2006

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


sprobuj cos w tym stylu:
  1. SELECT region.name, COUNT(image.id) FROM city LEFT JOIN region ON image.region = region.idr GROUP BY region.name


przy zwyklym zlaczeniu wiersze, ktore nie maja odpowiedniej wartosci w drugiej tabeli nie sa dolaczane do wyniku. jesli zastosujesz left join do kazdego wiersza ktorego nie da sie zlaczyc zostanie dopisany NULL (nie wiem jak to inaczej wytlumaczyc (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) mam nadzieje ze wiesz o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )

Ten post edytował venomz 1.11.2006, 14:45:37
Go to the top of the page
+Quote Post

Posty w temacie
- Bojakki   [sql] group by   1.11.2006, 12:58:03
- - venomz   sprobuj cos w tym stylu: [SQL] pobierz, plaintext ...   1.11.2006, 14:45:09


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 - 14:11