• 32 odgovora
  • 8.043 pregleda
Re: quick report je spor 09.12.2016. u 22:59 · pre 120 meseci #21
Definitivno je problem u LEFT JOIN upitu,ali kako da ga izbegnem,sta je alternativa tome?
Re: quick report je spor 10.12.2016. u 16:14 · pre 120 meseci #23
Treba mi za ovo.....slicno je onome sto smo radili,samo je ovo neplaceni racuni.....


SELECT ZaNaplatu.Mesec, ZaNaplatu.Godina
FROM ZaNaplatu left join promet on (ZaNaplatu.SifraKlijenta = Promet.KlijentiID) AND (ZaNaplatu.MeseciID = Promet.Mesec) AND (ZaNaplatu.Godina = Promet.Godina)
WHERE (((Promet.Mesec) Is Null) AND ((Promet.Godina) Is Null)) AND ZANAPLATU.SIFRAKLIJENTA =:SIFRAKLIJENTA
ORDER BY ZaNaplatu.SifraKlijenta, ZaNaplatu.Godina, ZaNaplatu.MeseciID;
Re: quick report je spor 10.12.2016. u 18:41 · pre 120 meseci #24
Makni LEFT JOIN i stavi INNER JOIN. Makni ON i stavi na njegovo mjesto WHERE, a WHERE koji imaš sada zamijeni sa AND. Ako sam dobro shvatio upit, trebalo bi ti dati isti rezultat, nema potrebe za left join-om u ovom upitu. Provjeri pa vidi.

Inače, kod left joina (i kod join općenito) je bitno paziti na polja koja uzimaš u upitu, ne uzimati ono šta ne treba, i where dio je bitan, pogotovo indeksiranje.
Potpis
F
Re: quick report je spor 10.12.2016. u 19:54 · pre 120 meseci #26
Napiši ovdje upit koji si napisao.

Ne znam da li access podržava, ali možeš probati FROM table1 as ZaNaplatu, tabela2 as Promet WHERE
Potpis
F
Re: quick report je spor 10.12.2016. u 20:11 · pre 120 meseci #27
SELECT ZaNaplatu.Mesec, ZaNaplatu.Godina
FROM ZaNaplatu inner join promet where (ZaNaplatu.SifraKlijenta = Promet.KlijentiID) AND (ZaNaplatu.MeseciID = Promet.Mesec) AND (ZaNaplatu.Godina = Promet.Godina)
and (((Promet.Mesec) Is Null) AND ((Promet.Godina) Is Null)) AND ZANAPLATU.SIFRAKLIJENTA =:SIFRAKLIJENTA
ORDER BY ZaNaplatu.SifraKlijenta, ZaNaplatu.Godina, ZaNaplatu.MeseciID;


Re: quick report je spor 10.12.2016. u 20:16 · pre 120 meseci #28
Da, ja sam zeznuo. Kada koristiš join moraš imati ON. Probaj u ovo vratiti ON i vrati where gdje je bio, pa javi da li je išta brže.

Code (sql):
SELECT ZaNaplatu.Mesec, ZaNaplatu.Godina
FROM ZaNaplatu INNER JOIN promet ON (ZaNaplatu.SifraKlijenta = Promet.KlijentiID) AND (ZaNaplatu.MeseciID = Promet.Mesec) AND (ZaNaplatu.Godina = Promet.Godina)
WHERE (((Promet.Mesec) IS NULL) AND ((Promet.Godina) IS NULL)) AND ZANAPLATU.SIFRAKLIJENTA =:SIFRAKLIJENTA
ORDER BY ZaNaplatu.SifraKlijenta, ZaNaplatu.Godina, ZaNaplatu.MeseciID;
Potpis
F
Re: quick report je spor 10.12.2016. u 20:42 · pre 120 meseci #29
Šta ti znače tabele ZaNaplatu i Promet. Objasni malo šta je koja.
Potpis
F
Re: quick report je spor 14.12.2016. u 22:07 · pre 120 meseci #30
Da li za ovaj left join,postoji alternativa,da se nekako drugacije to postavi,posto jos nisam nasao resenje....


SELECT ZaNaplatu.Mesec, ZaNaplatu.Godina
FROM ZaNaplatu left join promet on (ZaNaplatu.SifraKlijenta = Promet.KlijentiID) AND (ZaNaplatu.MeseciID = Promet.Mesec) AND (ZaNaplatu.Godina = Promet.Godina)
WHERE (((Promet.Mesec) Is Null) AND ((Promet.Godina) Is Null)) AND ZANAPLATU.SIFRAKLIJENTA =:SIFRAKLIJENTA
ORDER BY ZaNaplatu.SifraKlijenta, ZaNaplatu.Godina, ZaNaplatu.MeseciID;


ZaNaplatu je query,a promet je tabela
Re: quick report je spor 15.12.2016. u 09:19 · pre 119 meseci #31
Mozda ti i jeste problem sto pozivaš tabelu i query od access-a u query-iju, pokusaj da napravis query od tabela (statickih podataka).

Ne vidim razlog zbog kog pozivaš tabelu i query iz accessa, napravi jedan query upit iz Delphi-ja koji će ti odraditi to što tražiš, uzeti podatke iz željenih tabela. Ti otvaraš query query-jem, nisam siguran da je to pametno rešenje, izvodljivo jeste al zahteva dosta vremena, još ako ga stavljaš u neku petlju koja ga ponavlja više puta, smrt.

[Ovu poruku je menjao salvaric dana 15.12.2016. u 13:02 GMT+1]
Potpis
Nikad izvini!
Re: quick report je spor 15.12.2016. u 18:56 · pre 119 meseci #32
Nisam se puno zabavljao, ali left join mu je stvarno jako jako jako spor. Indekse ima na dobrim poljima koliko vidim, where dio nije neki zahtjevan, a ima samo 700-800 zapisa. Ili je access stvarno toliko u klincu ili ima neka caka a da ju ja ne znam ili sam nešto previdio.
Potpis
F
Re: quick report je spor 15.12.2016. u 20:44 · pre 119 meseci #33
Da,pa video si i sam...stvarno cudno,a pre sam imao mnogo vise upisa i sve je radilo kako treba,a ovo je bas bez veze....
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme