Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 4 zapytania w jednym
Aku
post 19.02.2008, 13:01:19
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 18.02.2008

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


Mam nastepujace tabele:

forum_fora (idforum, nazwa, opis, status)

forum_tematy (idtemat, idforum, iduser, temat, tresc, datadodania, .....)

forum_posty (idpost, idtemat, idforum, iduser, tresc, ....)

Pytanie jest nastepujace: czy da się stworzyc w jednym zapytaniu mySQL tak aby wyswietliło:

forum_fora.*, liczba_tematow_forum, liczba_postów_forum, ostatni_temat_forum(temat, nick, datadodania)

Ja próbowałem robiąc cos takiego:

CODE
SELECT ff.*, COUNT(ft.temat) as licz_tem,
COUNT(fp.tresc) as licz_odp, ft.temat, ft.datadodania, fu.nick FROM forum_fora ff
LEFT JOIN forum_tematy ft ON ft.idforum=ff.idforum
LEFT JOIN forum_posty fp ON fp.idforum=ff.idforum
LEFT JOIN forum_uzytkownicy fu ON ft.iduser=fu.iduser
GROUP BY ff.idforum


Ale to nie działa, poniewaz sumuje mi COUNT z kazdej tabeli, i nie wiem jak zrobic aby to wyswietlalo ostatni temat zamiast pierwszego

Jesli ktoś zna rozwiazanie, lub jesli to nie mozliwe to jak przerobic baze aby to zrobić.
Będę bardzo wdzięczny za jakiekolwiek wskazówki.
Go to the top of the page
+Quote Post
nevt
post 19.02.2008, 13:22:26
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


  1. SELECT forum_fora.*, (SELECT COUNT(*) FROM fora_tematy) AS tematy_ilosc, (SELECT COUNT(*) FROM fora_posty) AS posty_ilosc, forum_tematy.temat, forum.tematy.nick, forum_tematy.datadodania FROM forum_fora LEFT JOIN forum_tematy USING (idforum) GROUP BY idforum;

tak to mniej więcej powinno wyglądać, pisałem z pamięci, więc mogą być jakieś drobne literówki, powodzenia.

EDIT: jeżeli chcesz zliczyć tematy i posty osobno dla każdego forum, to powinno pomóc coś takiego:
  1. SELECT forum_fora.*, COUNT(idtemat) AS tematy_ilosc, COUNT(id_post) AS posty_ilosc, forum_tematy.temat, forum.tematy.nick, forum_tematy.datadodania FROM forum_fora LEFT JOIN forum_tematy USING (idforum) LEFT JOIN forum_posty USING (idforum) GROUP BY idforum;


Ten post edytował nevt 19.02.2008, 13:35:58


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 22:31