![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam 3 tabeli:
Próbuję pobrać sumę punktów z tabeli PUNKTACJA, ale pod warunkiem, że : "SELECT SUM(p.punkty) FROM punktacja p, dane_uczestnika du, polec_zaplaty pz WHERE p.dane_uczestnika_id = du.id AND du.nr_grupy = 1 AND pz.data > '2007-12-22 09:29:24'" I wywala mi jakieś kosmiczne rzeczy, gdzie jest błąd? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 12 Dołączył: 6.01.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pewnie suma jest dużo większa niż powinna być. Powinienieś dodać warunki opisujące łączenie tabel.
Kod SELECT SUM(p.punkty) FROM punktacja p, dane_uczestnika du, polec_zaplaty pz WHERE p.dane_uczestnika_id = du.id AND du.nr_grupy = 1 AND pz.data > '2007-12-22 09:29:24' AND du.id = pz.dane_uczestnika_id AND du.id = p.dane_uczestnika_id Ewentualnie możesz użyć JOIN. Kod SELECT SUM(p.punkty) FROM punktacja p JOIN dane_uczestnika du JOIN polec_zaplaty pz ON du.id = pz.dane_uczestnika_id AND du.id = p.dane_uczestnika_id WHERE p.dane_uczestnika_id = du.id AND du.nr_grupy = 1 AND pz.data > '2007-12-22 09:29:24' AND Zalecam drugie rozwiązanie, bo będzie się szybciej wykonywać. Ten post edytował Cotter 19.01.2008, 00:55:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:42 |