Pom15
Z Prirucky
Create
create table aa_mzdy2 ( os_cislo decimal (10,0), cislo_pom smallint, prac_str char(10), kod_puv smallint, kod smallint, dat_od date, dat_do date, dny decimal (3,1), hodiny decimal (5,2), sazba decimal (16,2), castka decimal (16,2), prizn_aut char(1), prac_kateg smallint, datum date, id_podniku integer, poznamka char(30));
Pro vybraný kód
select distinct X.os_cislo as os_cislo_puv, A.os_cislo as os_cislo_ks, A.prijmeni, A.jmeno, A.kmen_str, (select sum(dny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) as dny_puv, (select sum(dny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) as dny_ks, ( (select sum(dny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) - (select sum(dny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) ) as rozdil, (select sum(hodiny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) as hod_puv, (select sum(hodiny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) as hod_ks, ( (select sum(hodiny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) - (select sum(hodiny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) ) as rozdil, (select sum(castka) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) as castka_puv, (select sum(castka) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) as castka_ks, ( (select sum(castka) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = %KOD% and X1.datum = %DATUMOD%) - (select sum(castka) from pichacky P where P.os_cislo = A.os_cislo and P.kod = %KOD% and P.datum = %DATUMOD%) ) as rozdil from pracovnici A full join aa_mzdy2 X on A.os_cislo = X.os_cislo
Pro všechny kódy
Výchozí zdroj pro kód a hodnoty je původní tabulka
select distinct X.os_cislo as os_cislo_puv, A.os_cislo as os_cislo_ks, A.prijmeni, A.jmeno, A.kmen_str, X.kod, (select sum(dny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) as dny_puv, (select sum(dny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) as dny_ks, ( (select sum(dny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) - (select sum(dny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) ) as rozdil, (select sum(hodiny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) as hod_puv, (select sum(hodiny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) as hod_ks, ( (select sum(hodiny) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) - (select sum(hodiny) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) ) as rozdil, (select sum(castka) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) as castka_puv, (select sum(castka) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) as castka_ks, ( (select sum(castka) from aa_mzdy2 X1 where X1.os_cislo = X.os_cislo and X1.kod = X.kod and X1.datum = %DATUMOD%) - (select sum(castka) from pichacky P where P.os_cislo = A.os_cislo and P.kod = X.kod and P.datum = %DATUMOD%) ) as rozdil from pracovnici A full join aa_mzdy2 X on A.os_cislo = X.os_cislo
Varianta 3
select A.os_cislo, A.cislo_pom, PR.prijmeni, PR.jmeno, A.kod, sum(A.castka) as Kc_ks, sum(B.castka) as Kc_puv, (sum(B.castka) - sum(A.castka)) as rozdil from pichacky A, aa_mzdy2 B, pracovnici PR where A.os_cislo = B.os_cislo and A.cislo_pom = B.cislo_pom and A.kod = B.kod and A.os_cislo = PR.os_cislo and A.datum = %DATUMOD% and B.datum = %DATUMOD% group by A.os_cislo, A.cislo_pom, PR.prijmeni, PR.jmeno, A.kod