Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Łączenie tabel + pobieranie ilości rekordów z jednej
Balon
post
Post #1





Grupa: Zarejestrowani
Postów: 422
Pomógł: 0
Dołączył: 14.12.2005
Skąd: Wałbrzych

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


Mam dwie tabele. Jedna z newsami, druga z komentarzami. W komentarzach mam kolumne id_news.

Teraz jak w jaki sposób mam ułożyć zapytanie żeby pobierać wszystkie komentarze + dołączać do wyników ilość komentarzy dla danego newsa.

Nie mogę jakoś tego dołączyć. Próbowałem coś z GROUP BY ale wtedy dziwne wyniki dawało.

proszę o pomoc, pozdrawiam !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Jeśli używasz GROUP BY to nie możesz pobierać dowolnych kolumn, tylko te po których grupujesz (albo te potraktowane funkcjami agregującymi).

Żeby wyświetlić wszystkie dane z tabeli news + ilość komentarzy, to musisz zastosować podzapytanie:
  1. SELECT n.*, (SELECT COUNT(*) FROM comments c WHERE (c.id_news = n.id)) AS `count`
  2. FROM news n
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: 16.10.2025 - 13:24