![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam mały problem ze sformułowaniem zapytania. Mam dwie tabele: TUTORIALS | tutorials_id | tutorials_reszta | gdzie |tutorials_reszta| wprowadzone dla uproszczenia (normalnie jest tam więcej kolumn, ale po co utrudniać - do zapytania się nie przydadzą) COMMENTS | comments_id | comments_user | comments_comment | comments_date|commenst_tutorial | gdzie |commenst_tutorial| = |tutorials_id| Teraz na czym mają polegać zapytania: 1) Pobrać z bazy wszystkie komentarze z tabeli COMMENST dla danego |commenst_tutorial | jednocześnie licząc ile jest tych komentarzy ... 2) Pobrać z bazy wszystkie tutoriale z tabeli TUTORIALS jednocześnie licząc ile komentarzy w tabeli COMMENST jest dla danego |tutorials_id| Oczywiście można iść na łatwiznę i mieć w tabeli TUTORIALS kolumnę, w której przy każdym komentarzu dodawane jest +1, a przy każdym usunięciu jest -1, ale w takim wypadku trzeba zawsze o tym pamiętać. Dodatkowo gdy kiedyś pójdzie jakiś SPAM, to wygodniej mi usunąc komentarze bezpośrednio w bazie - niestety wtedy także muszę lecieć do tabeli TUTORIALS i zmieniać stan licznika. Stąd też mój pomysł, że pewnie jest jakieś ładne zapytanie MySQL. Niestety w MySQL aż tak "wywijać" JESZCZE nie potrafię, więc pytam lepszych (muszę kiedyś znaleźć czas i się przekopać przez dokumentację MySQL bo coraz częściej odczuwam swoje ograniczenie w tym zakresie:) ) Dla (1) próbowałem coś w rodzaju:
Ale zwraca tylko jeden wiersz i to dodatkowo ze złą ilością ... Ktoś ma jakiś pomysł? Jeśli to pomoże - MySQL 5.1.30 Ten post edytował barat 25.02.2009, 09:13:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Do 1 bedzie tak
Do 2 tak
Ten post edytował kefirek 25.02.2009, 09:30:49 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
w (2) tak mi się wydawało, że będzie podzapytanie - działa bardzo dobrze. DZIĘKI (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Niestety (1) spowoduje wyświetlenie po jednym komentarzu dla każdego |commenst_tutorial | z liczbą tych komentarzy - czyli mniejwięcej zrobi to co zapytanie do przypadku (2). A mi chodzi o to, że wyświetlam jakiś tutorial, chcę mieć wszystkie komentarze do niego, i jednocześnie np w pierwszym wierszu informację ile tych komentarzy jest ... Najważniejsze, że zapytanie 1 działa poprawnie, to mi było bardziej potrzebne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W drugim przypadku zawsze można zrobić dwa zapytania (jedno do pobrania komentarzy i jedno dla zliczenia ich - baza aż tak nie ucierpi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) Ten post edytował barat 25.02.2009, 09:51:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:30 |