Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodanie kolejnego join'a
Forum PHP.pl > Forum > Bazy danych > MySQL
huntercs
więc mam zapytanie które dla każdego user zlicza ilość głosów i wybiera tylko tych z powyżej pięcioma, chciałbym jeszcze dodać warunek że musi mieć conajmiej jedno zdjęcie w tabeli `photos`(id, login, plik):

aktualne zapytanie:
  1. SELECT u.login,u.plec, count(*) AS glosow
  2. FROM users
  3. u
  4. JOIN marks m ON u.login=m.do_login WHERE wojewodztwo<>0 AND u.plec=0
  5. GROUP BY u.login HAVING glosow>5
  6. ORDER BY u.srednia DESC LIMIT 50

miałem już podobny problem i jego rozwiązanie nie jest dla mnie do końca jasne, także prosze o jak najprostrze rozwiązanie smile.gif
myślałem żeby dodać tu joina ale niewiem jak zapisać zliczanie pola :/

próby:
  1. SELECT u.login,u.plec, count(*)/COUNT(DISTINCT p.id) AS glosow, count(*)/COUNT(DISTINCT m.id) AS zdjec
  2. FROM users
  3. u
  4. JOIN marks m ON u.login=m.do_login JOIN photos p ON u.login=p.login WHERE wojewodztwo<>0 AND u.plec=0
  5. GROUP BY u.login HAVING glosow>5
  6. ORDER BY u.srednia DESC LIMIT 50

tak powinno być?

[final]
dzięki! problem rozwiązany
FanFataL
  1. SELECT u.login, u.plec, COUNT(DISTINCT m.id) AS glosow, COUNT(DISTINCT p.id) AS zdjec
  2. FROM users
  3. u
  4. LEFT JOIN marks m ON u.login=m.do_login LEFT JOIN photos p ON u.login=p.login WHERE wojewodztwo<>0 AND u.plec=0
  5. GROUP BY u.login HAVING glosow>5
  6. ORDER BY u.srednia DESC LIMIT 50
Tak powinno smigać smile.gif

Pozdrawiam winksmiley.jpg
...
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.