Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> warunkowe wykonianie JOIN
scytale
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.06.2007

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


witam. mam 2 tabele w bazie
tabela posty
post_id, post_title, ..., comment_status
comment_status moze przyjmowac 2 wartosci: 0 lub 1. jesli 0 to nie mozna dodawac komentarzy, jesli 1 to mozna

tabela komentarze
comment_id, post_id, itd...

Teraz tak, pobieram z bazy posty i licze ile jest komentarzy do nich

  1. SELECT p.post_id, p. post_title, ..., COUNT(c.comment_id) AS komentarze FROM posty p LEFT JOIN komentarze c ON p.post_id = c.post_id GROUP BY p.post_id

To zapytanie ladnie dziala, zlicza mi wszystkie komentarze. Ale robi tez JOINa dla postów, ktore na 100% nie będą miały komentarzy (pole comment_status ma wartość 0). Czy da sie zrobić tak, żeby przed wykonaniem JOINa sprawdzał wartość w polu comment_status i jesli bedzie tam 0 to nie robil joina tylko do pola komentarze odrazu wpisal 0, a jesli bedzie wartosc 1 to zeby normalnie wykonal joina.
I czy wogole oplaca sie to robic z punktu wydajności? Niby zaoszczędzi troche "mocy przerobowych" na joinie, ale musi tez troche wiecejtych mocy poswiecic na badanie wartosci pola
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: 23.08.2025 - 01:19