![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie mam taki problem.
Chciałbym w jednym zapytaniu pobrać nazwę kategorii (po id) i wszystkie news-y. A wieć robie sobie proste zapytanie.
Wszystko ładnie pięknie tylko co zrobić żeby w tym samym zapytaniu policzyć jeszcze ile jest komentarzy dla danego wpisu. Struktura tabel blog_wpisy -- id -- nazwa_wpisu -- tresc_wpisu -- id_kategoria blog_kategorie -- id -- nazwa_kategorii blog_komenatrze -- id -- tresc_komentarza -- id_wpisu Dla uproszczenia wyrzuciłem niepotrzebne pola. Jak próbowałem wychodziły niezłe twory z morskiej odchłani. Proszę o pomoc. Daję na przedszkole bo pewnie rozwiazanie jest banalne. Pozdrawiam xbigos -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 2 Dołączył: 9.07.2008 Skąd: Zduńska Wola/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Musiałbyś pogrupować po id_wpisu i funkcją count() sprawdzić ile jest id_komentarzy... aczkolwiek w tym przypadku, gdzie wyciągasz sporo innych danych (blog_kategorie.nazwa_kategorii, blog_wpisy.nazwa_wpisu, blog_wpisy.tresc_wpisu, blog_wpisy.data_dodania) nie wiem czy to będzie dobry pomysł. Wszystkie te kolumny będą musiały być objęte klauzulą 'group by' i nie wiem czy to nie spłaszczy wyników (bo zasada jest taka, że przy użyciu 'group by' po 'select' może znajdować się tylko to, co było objęte 'group by' i jakieś funkcje agregujące).
To odpowiedź pisana na szybko. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
Z tym zapytaniem chyba sobie sam nie poradzę.
Wykonałbym w pętli while przy wyświetlaniu dla każdego wpisu SQL_CALC_FOUND_ROWS ale szukam bardziej wyrafinowanego zapytania. A poza tym korzystam z cachowania i nie za bardzo mi się to razem chce sprzęgnąć. Chciałbym dodać, że na stronie będzie dużo treści i dlatego cachuje zapytania. Ten post edytował xbigos 12.08.2008, 11:00:07 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:37 |