![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam taki wielki problem. Potrzebuje wyświetlić liste newsów i jednoczesnie zliczyć liczbę komentarzy.. moge zrobić pętle i w każdej pętrli zapyutanie o policzenie komentarzy do danego newsa... Nie chce, tak robić, bo wyrzuci mi mase zapytań... Jak zrobić to w jednym zapytaniu? Myslałem, żeby jakoś tak... SELECT *, COUNT(*) AS liczba_koment FROM tabela_newsy, tabela_komentarze WHERE tabela_newsy.id_news=tabela_komentarze.id_news WZÓR BAZY: tabela_newsy: id_news tresc tabela_komentarze: id_komentarz id_news tresc Prosze o podpowiedź.. coś nie moge tego przeskoczyć... a nie chce robić pętle z tyloma zapytaniami.. Ten post edytował kukix 7.09.2006, 21:33:15 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
śmiga elegancko .. dzięki...
ale tak sie zastanawiam, czy nie lepiej zapisywać tą liczbe komentarzy w bazie newsów, bezpośrednio w każdym newsie.. ![]() np dodając komentarz zwiększało by sie pole liczba komentarzy w wierszu newsa... jakie rozwiązanie lepiej wybrać...? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Oczywiscie ze tak jest lepiej jak mowisz
![]() Chyba ze to beda male ilosci rekordow, to nie trzeba sie az tak przejmowac. Aczkolwiek przy duzej ilosci i duzym ruchy na stronie, zaoszczedziloby to pare chwil ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 10.12.2005 Skąd: Stalowa Wola / Wroclaw Ostrzeżenie: (0%) ![]() ![]() |
nospor: orientujesz się może nad różnicą w wydajności jednego zapytania sql (tego złożonego, podanego przez ciebie) a liczeniem komentarzy każdego posta osobnym zapytaniem ?
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
dokladnie sie nie orientuje jak duza to bedzie roznica, ale zasada jest prosta:
z reguly im mniej zapytan, tym lepiej ![]() A generowac dla kazdego posta pokolei zapytanie by sprawdzic ile ma komentow, to oto jedno zapytanie za duzo. a jesli to bedzie w petli to juz o wieeeeele za duzo ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
a jeszcze lepiej jest poprostu trzymac liczbe komentarzy prze każdym newsie?
jak jestesmy przy zapytaniach złożonych, to pomóżcie mi jeszcze zsrobić coś takiego: Mam komentarz napisanyc przez użytkownika o id 1... jak ułożyć to zapytanie żeby wyświetlając newsy wybierało od razu nazwe urzytkownika o tym id z innej tabeli...? zrobiłem coś takiego, ale nie wiem, czy nie lepiej będzie coś pokombinowac z "join", tylko, że niebardzo cośmi to wychodzi... " SELECT tabela_news.*,tabela_uzytk.uzytk_imie FROM tabela_news, tabela_uzytk WHERE tabela_uzytk.uzytk_id=tabela_news.uzytk_id " przykłądowe tabele: tabela_news: id_news tresc_news urzytk_id tabela_uzytk urzytk_id uzytk_imie Ten post edytował kukix 9.09.2006, 18:54:23 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 24.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak naprawde to odpowiedz masz juz podaną wyżej przez nospora, to jest normalne złączenie 2 tabel analogiczne do tego z newsami i komentarzami
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 04:16 |