Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Datumski izveštaji

[es] :: Pascal / Delphi / Kylix :: Datumski izveštaji

Strane: 1 2 3

[ Pregleda: 3904 | Odgovora: 59 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Datumski izveštaji12.10.2021. u 17:19 - pre 29 meseci
iMam neke podatke,koje imaju datumsko polje...Kako da izvedem da napravim da mi izlista te datume za jednu godinu po mesecima,i jedan mesec po nedeljama ili danima?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Datumski izveštaji13.10.2021. u 09:53 - pre 29 meseci
Nije jasno sta trazis, daj primer ili bolje objasni.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
31.223.145.*



+62 Profil

icon Re: Datumski izveštaji13.10.2021. u 20:32 - pre 29 meseci
Pitanje se odnosi na podatke u bazi/tabeli ili na podatke u listi?
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji14.10.2021. u 19:55 - pre 29 meseci
Pronasao sam resenje delimicno...Potrebno mi je bilo za tabelu iz access,pa sam iskoristio komandu months,po mesecima,pa sam tako izlistao po mesecima za godinu...
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji14.10.2021. u 20:45 - pre 29 meseci
E,sada ono što je delimično već potpada pod nešto drugo,ali ću se nastaviti ovde...

Reč je union all komandi u upitu,to napravim ovako nesto


SELECT Month(Datum) AS Mesec, Sum(Nalozi.Cena) AS Iznos,0
FROM Nalozi
where brojnaloga > 0
GROUP BY Month(Datum)
UNION ALL SELECT Month(Datum) AS Mesec,0, Sum(Nalozi.Cena) AS Iznos1
FROM Nalozi
where brojnaloga = 0
GROUP BY Month(Datum)
UNION ALL SELECT Month(Datum) AS Mesec,0, Sum(Nalozi.Cena) AS Iznos1
FROM Nalozi
where brojnaloga = 0
GROUP BY Month(Datum);


i izadju podaci recimo

8-2021------200,00------0
8-2021---------0---------100,00

a meni treba ovako nesto,razlika toga za ceo mesec


8-2021------100,00

Dakle 200 - 100 = 100


Jel to moguće u ovoj sql komandi?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Datumski izveštaji15.10.2021. u 11:51 - pre 29 meseci
Vise ideja,
- napravis view od ovog kverija pa selektujes iz njega ili ako ti baza podrzava select nad selectom onda direktno.
- ako ima IIF ili CaseIF onda bi sum mogao nad njihovim rezultatima, jedan za Nalog-0, drugi za > 0
- napravis stored proceduru sa zeljenim racunom pa selekt iz nje
- napravis dupli outer join nad tabelom nalozi, jednom za Nalog-0, drugi za Nalog>0, pa ih spojis po godini i mesecu i sracunas sumu


 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji16.10.2021. u 19:14 - pre 29 meseci
Pokušao sam ovo poslednje,ali sam pokušao na neki način pomoću access,napravio kveri prihod za > 0 i kveri za rashod = 0,i od ta dva kverija napravio join,gde godina = godina,ali ne pravi sumu lepo,jer nekada imam za recimo mesec 10 Prihod,ali nemam rashod...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Datumski izveštaji17.10.2021. u 00:35 - pre 29 meseci
Ako imaš prihod a nema rashoda onda je suma samo prihod, nemoj koristiti inner join već outer join.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji17.10.2021. u 16:20 - pre 29 meseci
Da,pokušao sam,ali izgleda da access to ne podržava,tj adoquery outer join,pa koristim left,jel skoro nikada neću imati rashoda,a da ne bude prihoda...I nešto sam guglao,ovo outer join,može kao union all,gde je jedna unija left,a druga right...
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Datumski izveštaji17.10.2021. u 16:26 - pre 29 meseci
Koristi switch funkciju accessa
https://support.microsoft.com/...0d-0c8e-444c-9e63-f47504f9e379

Napravi kolonu u kojoj ćeš za određeni uslov dati pozitivnu vrednost, za drugi uslov negativnu, uradi sum po toj koloni.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji23.10.2021. u 18:15 - pre 29 meseci
Hvala svima,ne stidoh ranije,uspeo sam da rešim kao dva inner ,prvo left pa right....Međutim,da ne otvaram novu temu,zanima me još nešto...i da li je to moguće...

Imam jedno polje koje je short time,gde upisujem kad je ko zakazao,tj u koje vreme...ono što meni treba jeste da mi izlista vremena koja nisu zakazana,tj upisana...Recimo ovo su zakazana vremena...

08:00 - 09:15
10:00 - 10:30


Da mi pokaže kao rezultat upita 09:15 - 10:00...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Datumski izveštaji24.10.2021. u 00:56 - pre 29 meseci
> Imam jedno polje koje je short time,gde upisujem kad je ko zakazao,tj u koje vreme...ono što meni treba jeste da mi izlista
> vremena koja nisu zakazana,tj upisana...Recimo ovo su zakazana vremena...
> 08:00 - 09:15
> 10:00 - 10:30
> Da mi pokaže kao rezultat upita 09:15 - 10:00...

Mozda da ubacis novu tabelu sa mogucim svim mogucim terminima u toku dana, npr:
8 - 8:15
8:15 - 8:30
8:30 - 8:45
...
16:30 - 16:45
16:45 - 17:00

I onda uparis tu tabelu sa terminima i tabelu sa zakazanim terminima u toku dana i izvuces sta je preostalo.



 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji24.10.2021. u 07:25 - pre 29 meseci
Da,mislio sam na isti nacin...ali sam hteo da u drugoj tabeli postavim radno vreme,recimo od 08:00 do 20:00...pa imam rezervaciju od 10:00 do 10:30,pa da mi upit pokaze 08:00- 10:00 i 10:30 - 20:00?I kako to najednostavnije da uradim?Posto cu morati da izdvojim to u poseban upit,posto trenutni mi je vec dosta komplikovan.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Datumski izveštaji24.10.2021. u 13:28 - pre 29 meseci
Ne znam tacan upit bez podataka, ako koristis posebnu tabelu sa mogucim terminima onda selektujes sve koji ne postoje u tabeli zakazanih termina (koristi u where sekciji not exist).
Ako imas tabelu sa samo radnim vremenom onda ces verovatno morati da pises stored proceduru ili da racunanje radis iz programa.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji24.10.2021. u 15:37 - pre 29 meseci
Imam tabelu,koju pored ostalih polja imaju polje vremepocetka i vremekraja,i polja su datumska,kao shorttime i drugu tabelu bi napravio koja bi imala dva polja,isto shorttime,od i do,gde bi upisao vreme rada lokala,recimo od 08:00 do 20:00.I posle nekih zakazivanja da mi upit da koje vreme je preostalo.Usluga nema odredjeno vreme,tako da za nesto treba pola sata,za nesto sat vremena.
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
31.176.195.*



+27 Profil

icon Re: Datumski izveštaji24.10.2021. u 21:17 - pre 29 meseci
Ako imaš na raspolaganju window funkciju LEAD
Code:

SELECT
  kraj,
  LEAD(pocetak, 1)
    OVER (ORDER BY pocetak)
    AS next_pocetak
FROM termini
WHERE kraj < next_pocetak
ORDER BY pocetak


Ako nemaš
Code:

SELECT
  t.kraj,
  (
    SELECT MIN(t2.pocetak)
    FROM termini as t2
    WHERE t2.pocetak >= t.pocetak
  ) AS next_pocetak
FROM termini as t
WHERE kraj < next_pocetak
ORDER BY t.pocetak

Dobit ćeš slobodne termine izmedju već zakazanih. Nećeš dobiti ništa ako nemaš zakazanih termina i nećeš dobiti slobodno vrijeme prije prvog termina i nakon zadnjeg, ali to ćeš vjerovatno znati dodati.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.gprswap.mts.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji25.10.2021. u 19:10 - pre 29 meseci
Ovde se podaci,verovatno odnose na jednu tabelu...Meni trebaju iz dve tabele,jedna nalozi,gde imam termine koji su zakazani,i polja su vremepocetka i vremekraja i druga tabela koja se zove radnovreme,gde imam upisano od koliko sati krecu termini i sa koliko se zavrsavaju,i ta polja su satiod i satido?
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
31.176.205.*



+27 Profil

icon Re: Datumski izveštaji25.10.2021. u 20:22 - pre 29 meseci
Zašto ti treba tabela za radno vrijeme?
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Datumski izveštaji25.10.2021. u 20:41 - pre 29 meseci
Tabela radnovreme mi sluzi da znam od koliko krecu termini i do koliko...Dakle,upisem u t2 radno vreme ,recimo od 08:00 do 20:00, a u t1 upisujem zakazane termine
..Pa tako recimo,imam zakazan termin 09:00 do 10:00 i taj upit mi pokazuje da su mi slobodni termini od 08:00 do 09:00 i od 10:00 do 20:00.
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
31.176.205.*



+27 Profil

icon Re: Datumski izveštaji26.10.2021. u 07:54 - pre 29 meseci
Pitam zašto tabela, koliko tu imaš redova? Radno vrijeme je fiksan podatak, dodas ga u upit. A mislio sam da ćeš moci prilagoditi ove upite što sam pisao. Rekao sam da nece dati upravo to, vrijeme prije prvog rezervisanog i vrijeme nakon zadnjeg rezervisanog. Možeš sa UNION dodati, uzmes pocetak radnog vremena u lijevu kolonu i pocetak prvog rezervisanog termina u desnu i filter gdje provjervas da nisu isti.

Ako imas i dalje problem, daj tacno strukturu tabela.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Datumski izveštaji

Strane: 1 2 3

[ Pregleda: 3904 | Odgovora: 59 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.