Ověření pořadí rodinných příslušníků: Porovnání verzí

Z Prirucky
(Založena nová stránka: '''Ověření pořadí rodinných příslušníků''' right|700px == Sestava == Kontrola správného zadání pořadí ro…)
 
 
Řádek 16: Řádek 16:


  select  
  select  
A.id_podniku,
  A.os_cislo,
  A.os_cislo,
  A.prijmeni,
  A.prijmeni,
  A.jmeno,
  A.jmeno,
A.datum_nastupu,
A.datum_vystupu,
  (select count(*) from rod_prisl_slevy RSA  
  (select count(*) from rod_prisl_slevy RSA  
  where  
  where  

Aktuální verze z 15. 5. 2015, 14:41

Ověření pořadí rodinných příslušníků

Overeni-poradi-aktivnich-rod-prisl.png

Sestava

Kontrola správného zadání pořadí rodinných příslušníků není možná z toho důvodu, že v databázi nejsou všechny potřebné údaje (případ, kdy druhý z manželů uplatňuje na další společné dítě nárok u jiného zaměstnavatele).

Sestava porovnává

  • počet zjištěných "dětí" se slevou platnou v daném období (zadává uživatel ve volbě "datum od")
  • s hodnotou maximálního pořadí (v daném období), které u nich nalezne.

Příklad:

Počet zjištěných "dětí" = 1
Maximální pořadí = 3

Zaměstnanec má zadánu slevu na 1 dítě, ale jeho pořadí je 3. To může (ale nemusí) být chyba.

Definice sestavy pro Generátor sestav II:

select 
A.id_podniku,
A.os_cislo,
A.prijmeni,
A.jmeno,
A.datum_nastupu,
A.datum_vystupu,
(select count(*) from rod_prisl_slevy RSA 
where 
RSA.sleva = 'a' and
RSA.id_rod_prisl in (select id_rod_prisl from rod_prisl where rod_prisl.os_cislo = A.os_cislo) and
(RSA.sleva_od is null or RSA.sleva_od <= %DATUMOD%) and 
(RSA.sleva_do is null or RSA.sleva_do >= %DATUMOD%)) as poc_akt,

(select max(poradi) from rod_prisl_slevy RSB
where 
RSB.sleva = 'a' and
RSB.id_rod_prisl in (select id_rod_prisl from rod_prisl where rod_prisl.os_cislo = A.os_cislo) and
(RSB.sleva_od is null or RSB.sleva_od <= %DATUMOD%) and 
(RSB.sleva_do is null or RSB.sleva_do >= %DATUMOD%)) as max_poradi,

((select count(*) from rod_prisl_slevy RSA 
where 
RSA.sleva = 'a' and
RSA.id_rod_prisl in (select id_rod_prisl from rod_prisl where rod_prisl.os_cislo = A.os_cislo) and
(RSA.sleva_od is null or RSA.sleva_od <= %DATUMOD%) and 
(RSA.sleva_do is null or RSA.sleva_do >= %DATUMOD%))
-
(select max(poradi) from rod_prisl_slevy RSB
where 
RSB.sleva = 'a' and
RSB.id_rod_prisl in (select id_rod_prisl from rod_prisl where rod_prisl.os_cislo = A.os_cislo) and
(RSB.sleva_od is null or RSB.sleva_od <= %DATUMOD%) and 
(RSB.sleva_do is null or RSB.sleva_do >= %DATUMOD%))
)as rozdil

from pracovnici A

Odkazy