Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie z kilku tabel - pomocy!
pc5
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Próbowałem sam dojść do rozwiązania mojego problemu, ale poległem i nie dałem rady (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Proszę o pomoc.

Potrzebuję zliczyć pewne dane do wypisu listy galerii jakie mam w serwisie.
Wypis z bazy na stronie zwiera takie kolumny :
nazwa | nick_autora | ile_zdjec | ile_komentarzy

W poniższej tabeli mam tylko takie dane :

Tabela GALERIE
id_gal | nazwa | id_autora |
0 | Test | 1
1 | Inna | 1
2 | Koty | 2
...

Potrzebuję
1) Zamiast id_autora wstawić jego imię pobrane z tabeli uzytkownicy
2) Zliczyc ilosc zdjec z tbeli PLIKI dla danego id_gal
3) Zliczyc ilosc komentarzy z tabeli KOMENTARZE gdzie id_wlasciciela=id_gal

Oto pozostałe tabele

Tabela PLIKI
id_pliku | id_gal
0 | 0
1 | 0
2 | 0
3 | 1

Tabela KOMENTARZE
id_kom | id_wlascicela | tresc
0 | 0 | Kom do gal test
1 | 0 | Inny kom do gal test
2 | 2 | Kom do koty

Tabela UZYTKOWNICY
id_usera | nick |
0 | Jacek
1 | Adam
2 | Piotr

Czy da się pobrać wszystkie potrzebne dane w jednym zapytaniu? Jak ono ma wyglądać?

Wymyśliłem takie zapytanie, ale ono zlicza wszystkie elementy i nie podaje nicka autora

SELECT
GALERIE.id_gal,
GALERIE.nazwa
(SELECT COUNT(id_pliku) AS ile_zdjec FROM PLIKI),
(SELECT COUNT(id_kom) AS ile_kom FROM KOMENTARZE)

FROM
GALERIE

Z góry dziękuję za pomoc.

Ten post edytował pc5 19.03.2009, 18:13:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. SELECT *,
  2. (SELECT COUNT(id_pliku) FROM PLIKI p WHERE (p.id_gal=g.id_gal)) AS pliki,
  3. (SELECT COUNT(id_kom) FROM KOMENTARZE k WHERE (k.id_wlascicela=g.id_gal)) AS komentarzy
  4. FROM GALERIE g
  5. LEFT JOIN UZYTKOWNICY u ON (g.id_autora=u.id_usera)
Go to the top of the page
+Quote Post
pc5
post
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Cytat(kefirek @ 19.03.2009, 18:28:10 ) *
  1. SELECT *,
  2. (SELECT COUNT(id_pliku) FROM PLIKI p WHERE (p.id_gal=g.id_gal)) AS pliki,
  3. (SELECT COUNT(id_kom) FROM KOMENTARZE k WHERE (k.id_wlascicela=g.id_gal)) AS komentarzy
  4. FROM GALERIE g
  5. LEFT JOIN UZYTKOWNICY u ON (g.id_autora=u.id_usera)


Chwała Ci, cześć i uwielbienie dobry człowieku! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) O to chodziło, z resztą już sobie poradzę. Dziękuje!

Ten post edytował pc5 19.03.2009, 19:18:52
Go to the top of the page
+Quote Post

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: 23.08.2025 - 10:16