Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
dulek000
Chciałem połączyć dwa zapytania:

  1. SELECT * FORM news ORDER BY date DESC LIMIT 5

i
  1. SELECT id
  2. FROM news_comments WHERE newsid = odpowiednie id newsa


Gdzie "odpowiednie id newsa" jest oczywiście pole id z tabeli news. Przez pewien czas główkowałem, lecz nie mogłem poradzić sobie z uzupełnieniem miejsca "odpowiednie id newsa".
NuLL
Co chcesz osiągnć przez to zapytanie ?
dulek000
Wybrać jednocześnie wszystkie dane newsa (id, date, subject, author, content) z tabeli "news" i ilość komentarzy do danego newsa (WHERE newsid = odpowiednie id newsa) z oddzielnej tabeli "news_comments". No i po napisaniu tego zauważyłem, że 2 zapytanie jest niewydajne - lepiej było użyć count(), zamiast w php używać mysql_num_rows().
NuLL
  1. SELECT COUNT(nc.id) AS ilosc,
  2. n.*
  3. FROM news n
  4. LEFT JOIN news_comments nc ON (nc.newsid=n.id)
  5. GROUP BY n.id


EDIT: poprawiłem.
dulek000
Działa po zmianie z
  1. GROUP BY news.id
na
  1. GROUP BY n.id
. Dziękuję seredcznie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.