Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Left join i parametr where
Forum PHP.pl > Forum > Bazy danych > MySQL
xxdrago
Witam, mam takie zapytanie:

  1. SELECT newsy_strony.id,newsy_strony.nazwa,newsy_strony.DATA,newsy_strony.autor,newsy_strony.tresc,newsy_strony.typ,newsy_strony.link, COUNT( komentarze.id ) ilosc
  2. FROM newsy_strony
  3. LEFT JOIN komentarze ON komentarze.id = newsy_strony.id
  4. GROUP BY newsy_strony.id ORDER BY `data`


Potrzebowałbym dodać parametr where w tabeli newsy_strony, żeby znalazło same z typ = 1 próbowałem ale wyskakują błędy można prosić o jakąś poradę?
bpskiba
  1. SELECT n.id, n.nazwa, n.`data`, n.autor, n.tresc, n.typ, n.link, COUNT( k.id ) AS ilosc
  2. FROM newsy_strony n
  3. LEFT JOIN komentarze k USING(id)
  4. WHERE n.typ=1
  5. GROUP BY n.id ORDER BY n.`data`


Jaki błąd występuje??
mortus
Dlaczego id newsa jest jednocześnie id komentarza? Podejrzewam, że w tabeli komentarze jest inna kolumna odpowiedzialna za powiązanie z tabelą newsy_strony i właśnie tej kolumny trzeba użyć w warunku złączenia - ON `newsy_strony`.`id` = `komentarze`.`id_newsa`, a po złączeniu warunek, grupowanie i sortowanie, jak pokazał kolega bpskiba.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.