Pom15: Porovnání verzí
(Stránka vyprázdněna) |
|||
| Řádek 1: | Řádek 1: | ||
* První část je určena pro načítání z historie (tab. pom_zal), druhá část pro načítání, pokud je navoleno aktuální období (tab. prac_pom). | |||
* Určující je uživatelem zvolené "datum do" - pokud je shodné s aktuálním obdobím, načítá se hodnota pracovního místa z aktuálu (agenda Pracovní poměry). Pokud se jedná o historické období, je načítána hodnota pracovního místa z historického archivovaného období. | |||
select | |||
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum, | |||
PM1.hodnota as stred, | |||
P.castka, | |||
(select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento, | |||
(P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky | |||
from pracovnici A, | |||
pom_zal B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, | |||
prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), | |||
pichacky P | |||
where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and | |||
A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and | |||
B.cislo_pom = P.cislo_pom and year(B.datum) = year (%DATUMDO%) and month (B.datum) = month(%DATUMDO%) and | |||
PMA.id_pracmist = PMB.id_pracmist and | |||
( | |||
year (%DATUMDO%) <> (select year(datum_prvni) from par_map) or | |||
month (%DATUMDO%) <> (select month(datum_prvni) from par_map) | |||
) | |||
union all | |||
select | |||
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum, | |||
PM1.hodnota as stred, | |||
P.castka, | |||
(select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento, | |||
(P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky | |||
from pracovnici A, | |||
prac_pom B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, | |||
prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), | |||
pichacky P | |||
where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and | |||
A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and | |||
B.cislo_pom = P.cislo_pom and | |||
PMA.id_pracmist = PMB.id_pracmist and | |||
( | |||
year (%DATUMDO%) = (select year(datum_prvni) from par_map) and | |||
month (%DATUMDO%) = (select month(datum_prvni) from par_map) | |||
) | |||
Verze z 23. 4. 2019, 14:47
- První část je určena pro načítání z historie (tab. pom_zal), druhá část pro načítání, pokud je navoleno aktuální období (tab. prac_pom).
- Určující je uživatelem zvolené "datum do" - pokud je shodné s aktuálním obdobím, načítá se hodnota pracovního místa z aktuálu (agenda Pracovní poměry). Pokud se jedná o historické období, je načítána hodnota pracovního místa z historického archivovaného období.
select
A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum,
PM1.hodnota as stred,
P.castka,
(select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento,
(P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky
from pracovnici A, pom_zal B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), pichacky P where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and year(B.datum) = year (%DATUMDO%) and month (B.datum) = month(%DATUMDO%) and PMA.id_pracmist = PMB.id_pracmist and ( year (%DATUMDO%) <> (select year(datum_prvni) from par_map) or month (%DATUMDO%) <> (select month(datum_prvni) from par_map) )
union all
select A.os_cislo, B.cislo_pom, A.prijmeni, A.jmeno, P.kod, P.prac_kateg, P.datum, PM1.hodnota as stred, P.castka, (select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as procento, (P.castka * cast((select hodnota from prac_mist_atrib PM2 where cis_atributu = 1005 and id_provazani = PM1.id) as decimal (6,0))/100) as proc_castky
from pracovnici A, prac_pom B left outer join prac_mist PMA on B.id_pracmist = PMA.id_pracmist, prac_mist_atrib PM1 right outer join prac_mist PMB on PM1.id_pracmist = PMB.id_pracmist and PM1.cis_atributu = 1004 and (PM1.platnost_do is null or PM1.platnost_do >= %DATUMDO%), pichacky P where A.os_cislo = P.os_cislo and P.datum >= %DATUMOD% and P.datum <= %DATUMDO% and A.os_cislo = B.os_cislo and A.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and PMA.id_pracmist = PMB.id_pracmist and ( year (%DATUMDO%) = (select year(datum_prvni) from par_map) and month (%DATUMDO%) = (select month(datum_prvni) from par_map) )