Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zliczanie rekordów
peklo
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


witam.
Mam mały problem z zapytaniem z funkcja count

Jak mam takie zapytanie:
  1. "SELECT count(a.id_ogloszenia),o.nazwa from ogl o LEFT OUTER JOIN ans a on o.id=a.id_ogloszenia group by o.id";


funkcja count zlicza mi ok. jednak jak dołoże to LEFT OUTER JOIN zd z on o.id=z.id_ogloszenia czyli:

  1. "SELECT count(a.id_ogloszenia),o.nazwa,z.id_ogloszenia from ogl o LEFT OUTER JOIN zd z on o.id=z.id_ogloszenia LEFT OUTER JOIN ans a on o.id=a.id_ogloszenia group by o.id";


zliczanie nagle głupieje i zawyża mi licznik bo jednemu o.id odpowiada np kilka z.id_ogloszenia.
Jak można zgrupować to z.id_ogloszenia lub dopasować tylko jedno np pierwsze z.id_ogloszenia do o.id. Próbowałem z selectem z nim i max ale coś mi nie hula
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


SELECT count(DISTINCT a.id_ogloszenia)
Go to the top of the page
+Quote Post
peklo
post
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


z DISTINCT próbowałem juz wczesniej i wszedzie sume mam 1.
Dobra poradziłem sobie w taki sposób i juz liczy mi ok

  1. "SELECT count(a.id_ogloszenia),o.nazwa from ogl o
  2. LEFT OUTER JOIN (SELECT id_ogloszenia as idoglo from zd group by id_ogloszenia) as zdj on o.id=idoglo
  3. LEFT OUTER JOIN ans a on o.id=a.id_ogloszenia group by o.id";


Ten post edytował peklo 27.10.2014, 12:57:46
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:11