[Postgresql] sumowanie
Rafal - 08-02-2006 17:23
[Postgresql] sumowanie
Witam, Mam problem z ktorym nie moge sobie poradzic.
tabela przechowuje stany towarow w oddzialach z konkretnej godziny
towar INTEGRER oddzial INTEREGR data TIMESTAMP stan INTEGER PK (towar,oddzial,data)
Potrzebuje zsumowac aktualny stan danego towaru we wszystkich ooddzialach czyli kolumne stan wszystkich rekordow ktore maja naswiezsza date dla kazdego oddzialu cos tkiego Select SUM(stan) where towar = 'T1' AND i tu padlem...
Jezeli da sie to zrobic w jednym zapytaniu to prosze o pomoc jak to zrobic. Jezeli nie to pozostaje do napisania funkcja?
Pozdrawiam Rafal
Grzegorz Danowski - 08-02-2006 17:23
Uzytkownik "Rafal" <rafib_K@gazeta_M.pl> napisal w wiadomosci news:dscfpq$foj$1@inews.gazeta.pl... > Witam, > Mam problem z ktorym nie moge sobie poradzic. > > tabela przechowuje stany towarow w oddzialach z konkretnej godziny > > towar INTEGRER > oddzial INTEREGR > data TIMESTAMP > stan INTEGER > PK (towar,oddzial,data) > > > Potrzebuje zsumowac aktualny stan danego towaru we wszystkich ooddzialach > czyli kolumne stan wszystkich rekordow ktore maja naswiezsza date dla > kazdego oddzialu > cos tkiego > Select SUM(stan) where towar = 'T1' AND i tu padlem... >
Moze cos takiego bedzie dzialac (nie testowalem tego na PostgreSQL):
Select Sum(stan) From StanyTowarow As T Where towar = 'T1' And Exists( Select * From StanyTowarow As M Where M.towar = T.towar And M.oddzial = T.oddzial Having Max(M.data) = T.data )
Byc moze trzeba bedzie w subselekcie zamienic "Select *" na "Select Max(M.data)". Pozdrawiam Grzegorz
Antoni Jakubiak - 08-02-2006 17:23
Rafal wrote: > Witam, > Mam problem z ktorym nie moge sobie poradzic. > > tabela przechowuje stany towarow w oddzialach z konkretnej godziny > > towar INTEGRER > oddzial INTEREGR > data TIMESTAMP > stan INTEGER > PK (towar,oddzial,data) >
select towar, sum ( stan ) from (
select distinct on ( towar, odzial, data ) towar, odzial, data, stan from tabela order by data desc
)
Rafal - 10-02-2006 12:12
Dziekuje za pomoc,
Pozdrawiam Rafal
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.plponland.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|