Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapytaniem z LEFT JOIN, cos nie tak
Sm0key
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 1
Dołączył: 26.02.2004
Skąd: kielce. //Świętokrzyskie

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


Witam mam 2 tabele ::

faktury
-idf
-Do_kogo ( relacja z tabela osoby )
-Idk

0raz

osoby
-id
-osoba (nazwisko i imie )

i teraz chce aby mi pokazalo wszytkie osoby oraz ile faktur jest do nich z danej firmy , chce aby pozkazywalo nawet gdy nie ma do danej osoby zadnej faktury i zrobilem zapytanie (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) ::

  1. SELECT s.osoba , count(Do_kogo) AS ile , f.idk
  2. FROM faktury
  3. f , osoby s LEFT JOIN osoby ON ( f.Do_kogo = s.id ) WHERE f.idk = 22 GROUP BY s.osoba
  4. ORDER BY ile DESC


no i pokazuje dobrze ale ile jest magiczna liczba a przy osobach gdzie nie ma do nich faktur tez sa jakie liczby (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) tak jakby byla petla i dodawalo je kilka razy (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sm0key
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 1
Dołączył: 26.02.2004
Skąd: kielce. //Świętokrzyskie

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


tylko sie o to rozchodzi zeby pokazac wszytkie osoby i policzyc ile z danej firmy faktur jest do osoby ... moze jakies inne rozwiazanie jest tego (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

  1. SELECT o.id , o.osoba , sum( IF(f.idk = "22",1,0) ) AS test
  2.  
  3. FROM osoby
  4. o
  5. LEFT JOIN faktury f ON (o.id = f.Do_kogo)
  6.  
  7. GROUP BY o.id ORDER BY test DESC ;

wy,yslilem cos takiego

jak by ktos mial inna propozycje bardzo chetnie zobacze i potestuje

Ten post edytował Sm0key 20.02.2006, 13:47:57
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: 13.10.2025 - 18:52