![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 9.05.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
kolejny dzień ślęczenia nad zapytaniem i nic. Wątek http://forum.php.pl/viewtopic.php?t=6692 przestudiowałem dość szczegółowo i nie potrafiłem zrobić swojego zapytania. Mam 3 table: agenci, firmy, produkty. Chcę zliczyć ile każdy agent pozyskał produktów i firm. Nie będę rozpisywał poszczególnych atrybutów dla każdej z tabel. Wszystko widać z zapytań. Może jednak nie widać, bo coś się nie mogę doczekać odpowiedzi. Więc powiem tylko te najważniejsze: agents_pl: agent_id firms_pl_transact: firm_id, agent_id products_pl_transact: product_id, firm_id, agent_id. Zapytanie o liczbę firm wygląda tak i działa o.k.: [sql:1:b467487e3b] select a.firstname 'Imię', a.lastname 'Nazwisko', count(f.agent_id) as 'Liczba firm' from agents_pl a left join firms_pl_transact f on (a.agent_id = f.agent_id) WHERE a.active_i = 1 AND a.agent_id not in (1, 2) group by a.agent_id order by 'Liczba firm' desc, a.lastname; [/sql:1:b467487e3b] Analogicznie zapytanie o liczbę produktów wygląda tak i działa o.k.: [sql:1:b467487e3b] select a.firstname 'Imię', a.lastname 'Nazwisko', count(p.agent_id) as 'Liczba produktów' from agents_pl a left join products_pl_transact p on (a.agent_id = p.agent_id) WHERE a.active_i = 1 AND a.agent_id not in (1, 2) group by a.agent_id order by 'Liczba produktów' desc, a.lastname; [/sql:1:b467487e3b] No i teraz potrzebuję zapytania, które da mi sumę tych firm i produktów. Niestety w tej postaci, jak poniżej, dostaję co prawda jakieś wyniki, ale są bzdurne. [sql:1:b467487e3b] select a.firstname 'Imię', a.lastname 'Nazwisko', count(p.agent_id) + count(f.agent_id) as 'Liczba umów' from agents_pl a left join products_pl_transact p on (a.agent_id = p.agent_id) left join firms_pl_transact f on (a.agent_id = f.agent_id) WHERE a.active_i = 1 AND a.agent_id not in (1, 2) group by a.agent_id order by 'Liczba umów' desc, a.lastname [/sql:1:b467487e3b] Help me. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 9.05.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat szkoda ze nie napisales pod czym piszesz te zapytania. wnioskuje ze srednikow znajdujacych sie w kodzie ze jest to (chyba) mysql.
tak, MySql Cytat wydaje mi sie ze mysql obsluguje juz podzapytania. jesli nie to chyba bedziesz jednak musial to rozbic na 2 select'y
Pozdrawiam Niestety, otrzymuje taki komunikat o błędzie, w sumie nie wiem, czy to jest wina błędnego zapytania, czy tego, że wersja MySql'a na której pracuję (4.0.14) nie obsługuje podzapytań. Kod You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT a.firstname, a.lastname, count(f.agent_id) 'Liczba' FRO
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 22:07 |