[ mustur @ 24.07.2006. 12:13 ] @
| Potrebna pomoć.
Kako da napravim query koji treba da iz tabele [Komitent], [Datum] (gdje ima vise Komitenata i za svakog Komitenta vise Datuma) izvuce zadnja N-broja Datuma za svakog Komitenta (jednostavno je za samo zadnjeg ili zadnjih N od svih Komitenata)
Unapred zahvalan |
[ BiloKoje @ 24.07.2006. 13:11 ] @
Imali smo skoro nešto slično. Sa nekim brojem servisa po tipu auta.
Da li mora za SVAKOG komitenta, ili za određenog kojeg mi biramo preko neke forme ili liste. Neznam jeli je pitanje praktično ili teorijsko.
Podaci tog tipa obično nam trebaju (u praksi) par puta godišnje. To sam radio tako što sam šifru komitenta stavio u promenjvu, pa kroz VB dao da mi štampa zadnjh 5 promena. Na formi, odaberem komitenta i vidim zadnjih 5 promena.
[ mustur @ 24.07.2006. 13:46 ] @
Pitanje je praktično. Potrebno mi je svakodnevno da imam uvid u vidu REPORT-a za sve Komitente zadnjih N-narudžbi i iskontrolišem njihovo finansijsko razduženje
[ BiloKoje @ 24.07.2006. 14:00 ] @
Tebi, ustvari treba Stenje dugovanja, iliti pregled otvorenih stavki. Obećao sam svoju pomoć (ideju) Lapincu84, na temi
http://www.elitesecurity.org/p1222396. Nisam stigao danas da se pozabavim temom. Jako je bitno. Dobra organizacija baze. Ako nije idealna dajte, primer.
[ BiloKoje @ 24.07.2006. 14:03 ] @
Tebi, ustvari treba Stenje dugovanja, iliti pregled otvorenih stavki. Obećao sam svoju pomoć (ideju) Lapincu84, na temi
http://www.elitesecurity.org/p1222396. Nisam stigao danas da se pozabavim temom. Jako je bitno. Dobra organizacija baze. Ako nije idealna dajte, primer.
[ mustur @ 24.07.2006. 14:29 ] @
Evo primera, jedna tabela i treba napraviti query koji vraća za svakog komitenta samo zadnja dva iznosa (datuma).
Datum Komitent Ukupno
06. 01. 06 AAA d.o.o. 65,2038216
09. 01. 06 BBB d.o.o. 16,000268
11. 01. 06 BBB d.o.o. 17,8020216
12. 01. 06 AAA d.o.o. 27,3769632
13. 01. 06 AAA d.o.o. 300,9790064
13. 01. 06 JJJ d.o.o. 210,905936
14. 01. 06 AAA d.o.o. 116,5960432
14. 01. 06 FFF d.o.o. 117,3534726
14. 01. 06 BBB d.o.o. 24,062
16. 01. 06 AAA d.o.o. 54,6747416
16. 01. 06 BBB d.o.o. 18,7878
16. 01. 06 JJJ d.o.o. 35,34
17. 01. 06 HHH d.o.o. 95,3244228
18. 01. 06 AAA d.o.o. 46,608
18. 01. 06 DDD d.o.o. 63,5499394
19. 01. 06 CCC d.o.o. 133,223056
19. 01. 06 AAA d.o.o. 15,72
19. 01. 06 JJJ d.o.o. 157,69924
20. 01. 06 AAA d.o.o. 43,656
20. 01. 06 FFF d.o.o. 36,4341618
21. 01. 06 AAA d.o.o. 82,832
23. 01. 06 AAA d.o.o. 23,0529416
25. 01. 06 AAA d.o.o. 31,6469416
26. 01. 06 AAA d.o.o. 23,74
26. 01. 06 Micon d.o.o. 160,176378
26. 01. 06 BBB d.o.o. 19,859268
26. 01. 06 JJJ d.o.o. 119,58756
27. 01. 06 AAA d.o.o. 159,816
27. 01. 06 BBB d.o.o. 16,7220216
27. 01. 06 III d.o.o. 143,3492
27. 01. 06 KKK d.o.o. 183,5151548
28. 01. 06 AAA d.o.o. 165,5140216
28. 01. 06 BBB d.o.o. 20,76
28. 01. 06 III d.o.o. 114,97
30. 01. 06 AAA d.o.o. 65,9120216
30. 01. 06 BBB d.o.o. 38,6373672
30. 01. 06 JJJ d.o.o. 221,7554832
31. 01. 06 AAA d.o.o. 18,216
31. 01. 06 GGG d.o.o. 67,187028
01. 02. 06 HHH d.o.o. 62,9120216
01. 02. 06 BBB d.o.o. 24,5520216
02. 02. 06 AAA d.o.o. 107,2249632
02. 02. 06 BBB d.o.o. 19,3620216
03. 02. 06 AAA d.o.o. 116,304
03. 02. 06 GGG d.o.o. 107,6069808
06. 02. 06 BBB d.o.o. 12,7620216
06. 02. 06 JJJ d.o.o. 258,9764928
07. 02. 06 HHH d.o.o. 81,3
09. 02. 06 AAA d.o.o. 55,6740216
10. 02. 06 AAA d.o.o. 965,4298508
11. 02. 06 HHH d.o.o. 26,4420216
13. 02. 06 BBB d.o.o. 29,6820216
14. 02. 06 AAA d.o.o. 90,012
14. 02. 06 EEE d.o.o. 19,8
15. 02. 06 BBB d.o.o. 16,1853672
16. 02. 06 AAA d.o.o. 79,3000216
16. 02. 06 GGG d.o.o. 23,244
17. 02. 06 AAA d.o.o. 105,92
17. 02. 06 BBB d.o.o. 37,7245792
18. 02. 06 AAA d.o.o. 135,8199264
20. 02. 06 AAA d.o.o. 157,7654996
20. 02. 06 HHH d.o.o. 167,5820432
20. 02. 06 BBB d.o.o. 25,4653672
21. 02. 06 AAA d.o.o. 46,896
21. 02. 06 GGG d.o.o. 222,9227184
21. 02. 06 BBB d.o.o. 41,97
22. 02. 06 AAA d.o.o. 78,484
22. 02. 06 JJJ d.o.o. 253,798416
23. 02. 06 AAA d.o.o. 131,1669632
24. 02. 06 AAA d.o.o. 36,2438
25. 02. 06 AAA d.o.o. 157,276
25. 02. 06 EEE d.o.o. 52,4460648
25. 02. 06 JJJ d.o.o. 31,83
27. 02. 06 AAA d.o.o. 35,4
28. 02. 06 AAA d.o.o. 22,0260216
28. 02. 06 JJJ d.o.o. 105,8129112
[ Zidar @ 24.07.2006. 15:15 ] @
Ja sam napravio tabelu sa dva polja, tblKomitenti = (Komitent,Datum) , PK = (Komitent,Datum) = za jednog komitenta najvsie jedan unos dnevno.
Kveri koji vraca poslednjih 5 unosa za komitenta:
SELECT A.Komitent, A.Datum
FROM tblKomitenti AS A
WHERE (((A.Datum) In (SELECT TOP 5 B.Datum
FROM tblKomitenti AS B
WHERE B.Komitent = A.Komitent
ORDER BY B.Datum DESC;)))
ORDER BY A.Komitent, A.Datum DESC;
Treba ti dakle subquery koji za svaki rekord u main quary vraca do 5 poslednjih rekorad). To se zove correlated subquery.
Zakacio sam primer.
Obrati paznju na append queru koji sam koristio da napravim test rekorde. Daje 5 slucajnih komitenata na slucajan datum.

[ mustur @ 25.07.2006. 11:19 ] @
Razumeo sam kako da napravim query. Hvala na pomoći.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.