![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 20.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje zrobic zestawnienie kosztow
Ma sie wyswietlic dane o umowie i suma kosztow dla kazdej z nich Sa 3 tabele: Umowa KosztyFin KosztySad i robie tak:
Niestety zle mi wylicza, kosztyFin wynosza 4012 a wylicza mi ze 170129,95 Nie mam pojecia skad sie to bierze. Porszę o pomoc. Ten post edytował beeper 19.07.2005, 22:57:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(SongoQ @ 2005-07-20 21:10:05) @Jabol Nie wiem co sie kryje pod tym "g" ale wydaje mi sie ze jak by cos LEFT JOIN nieprawidlowo dzialal to by generowal za kazdym razem inne rekordy, jesli wyniki sa dokladnie takie same w 2 bazach danych to wydaje mi sie ze to wina jest zapytania. @SongoQAleż left join działa znakomicie. Dokładnie tak jak trzeba. Po prostu służy do innych zastosowań, a w tym konkretnym przypadku generuje wiele "g.", czyli niepotrzebnych w tym zastosowaniu rekordów. Bo on nie robi tego "całościowo". On tutaj kleji każdy rekord oddzielnie i nie patrzy, czy już z niego korzystał. @beeper: popróbuj z widokami (tutaj schowane) Kod SELECT win.id, kw1.kw, kw2.kw, kw3.kw FROM win LEFT JOIN (SELECT id, sum(kwota1) AS kw FROM kwota1 GROUP BY id) AS kw1 ON (win.id=kw1.id) LEFT JOIN (SELECT id, sum(kwota2) AS kw FROM kwota2 GROUP BY id) AS kw2 ON (win.id=kw2.id) LEFT JOIN (SELECT id, sum(kwota3) AS kw FROM kwota3 GROUP BY id) AS kw3 ON (win.id=kw3.id); Czy jak to się tam nazywa - podzapytania. Ale możesz te podzapytania wyprowadzić do widoków i będzie ok (podzapytania w ten sposób działają na pgsql'u, ale ze to na mysql'u pójdzie nie ręcze, a widoki chyba nawet mysql ma). Acha, nazwy tabel to sobie wymyśliłem jak przenosiłem strukturę na lokala. win to windykacja, kwota1 to kosztywf, kwota2 to kosztyww a kwota3 to wpłaty (czy jakkolwiek w dowolnej kolejości). XXX: DAŁEM CODE, bo SQL nie działa (wywala mi jakieś fragmenty html'a); Ten post edytował Jabol 20.07.2005, 22:30:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 10:15 |