Rozdělení úvazku na střediska - dle popisu pracovního místa (sestava po zaměstnancích)

Z Prirucky

Rozdělení úvazku na střediska - dle popisu pracovního místa (sestava po zaměstnancích)

OMEZENÍ SESTAVY:

  • Načítá pouze 2 dvojice z popisu pracovního místa - minimální a maximální středisko a jejich procentní rozdělení.
  • Předpokládá, že vlastnost 1004 = Středisko pro účetnictví a 1005 = Procento rozpadu.
  • Načte všechny zaměstnance a k nim uvede údaje z popisu pracovního místa.

SQL

SELECT A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom, B.datum_nastupu, B.datum_ukonc,

PM.id_pracmist, PM.cis_pracmist, PM.naz_pracmist,
(select PMA1.hodnota from prac_mist_atrib PMA1 where id = 
(select min (id) from prac_mist_atrib PMA2 where PMA2.id_pracmist = PM.id_pracmist and PMA2.cis_atributu = 1004 and 
(PMA2.platnost_do is null or PMA2.platnost_do >= (select min(datum_prvni) from par_map))
) 
) as str_1,

(select PMA3.hodnota from prac_mist_atrib PMA3 where PMA3.cis_atributu = 1005 and id_provazani = 
(select min (id) from prac_mist_atrib PMA4 where PMA4.id_pracmist = PM.id_pracmist and PMA4.cis_atributu = 1004 and 
(PMA4.platnost_do is null or PMA4.platnost_do >= (select min(datum_prvni) from par_map))
) 
)as proc_1,

(select PMA1.hodnota from prac_mist_atrib PMA1 where id = 
(select max (id) from prac_mist_atrib PMA2 where PMA2.id_pracmist = PM.id_pracmist and PMA2.cis_atributu = 1004 and 
(PMA2.platnost_do is null or PMA2.platnost_do >= (select min(datum_prvni) from par_map))
) 
) as str_2,

(select PMA3.hodnota from prac_mist_atrib PMA3 where PMA3.cis_atributu = 1005 and id_provazani = 
(select max (id) from prac_mist_atrib PMA4 where PMA4.id_pracmist = PM.id_pracmist and PMA4.cis_atributu = 1004 and 
(PMA4.platnost_do is null or PMA4.platnost_do >= (select min(datum_prvni) from par_map))
) 
)as proc_2

from pracovnici A, prac_pom B left outer join prac_mist PM on B.id_pracmist = PM.id_pracmist 
where A.os_cislo = B.os_cislo
order by A.prijmeni, B.cislo_pom;

Odkazy