dulek000
27.08.2005, 15:55:19
Chciałem połączyć dwa zapytania:
SELECT * FORM news ORDER BY date DESC LIMIT 5
i
SELECT id
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
27.08.2005, 16:52:35
Co chcesz osiągnć przez to zapytanie ?
dulek000
27.08.2005, 17:06:57
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
27.08.2005, 17:41:17
SELECT COUNT(nc.id) AS ilosc,
n.*
FROM news n
LEFT JOIN news_comments nc ON (nc.newsid=n.id)
GROUP BY n.id
EDIT: poprawiłem.
dulek000
27.08.2005, 18:00:55
Działa po zmianie z
GROUP BY news.id
na
GROUP BY n.id
. Dziękuję seredcznie.