Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Da się jednym zapytaniu ?
XDocTorX
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 6
Dołączył: 16.07.2006
Skąd: Jarosław

Ostrzeżenie: (0%)
-----


Stworzyłem tabele komentarze :

| id | id_newsa | tresc | autor | ip | data |

Chciałbym przy pobieraniu newsów od razu mieć liczbę komentarzy bez wysyłania kolejnego zapytania czy jest to możliwe do zrealizowania za pomocą jednego zapytania?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
osiris
post
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

Ostrzeżenie: (0%)
-----


  1. SELECT *, (SELECT COUNT(*) FROM comment WHERE id_news=news.id) AS ilosc FROM news;

panowie, bez przesady. tam gdzie nie potrzeba podzapytan skolerowanych to lepiej ich nie uzywac

to na pewno bedzie wydajniejsze:
  1. SELECT n.*, CASE i.ile IS NULL THEN 0 ELSE i.ile END
  2. FROM news AS n LEFT JOIN (SELECT id_news , COUNT(*) AS ile
  3. FROM comment GROUP BY id_news) AS i ON i.id_news = n.id
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 19:10