Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kwerenda 3 tabel - jak to ugryźć?
thextraman
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 26.02.2012

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


Witam, mam zapytanie korzystające z 2 tabel zawierających "newsy" i użytkowników, którzy je napisali:

  1. SELECT f.fml_id, body, DATE_FORMAT(fml_postdate, '%d.%m.%Y %T') AS dr, username, f.user_id, f.points
  2. FROM fmls AS f
  3. INNER JOIN users AS u
  4. USING ( user_id )
  5. WHERE approved = 1
  6. ORDER BY dr DESC
  7. LIMIT $start, $display


Chciałbnym do tego dodać jeszcze liczenie liczby rekordów z tabeli komentarze (po jakiejkolwiek kolumnie, a są user_id, comment_is, message, postdate, fml_id)
Próbowałem złączyć tabele zapytaniem INNER JOIN przez pole fml_id, ale mało co wychodzi. I tu mam pytanie: Czy mogę zliczanie komentarzy wcisnąć je tu, czy muszę realizować je w pętli wyświetlającej posty po kolei (straszne zajeżdżanie bazy)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bww
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 3
Dołączył: 14.02.2012

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


Możesz to zrealizować np. przez stworzenie tak jakby tymczasowej tabeli i zrobienie joina:

  1. JOIN (SELECT id_news, count(*) AS licz
  2. FROM komentarze GROUP BY id_news
  3. ) AS temp ON temp.id_news = news.id_news


A w tym główny select wyciągnąć jeszcze kolumnę temp.licz.
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 20:07