Advertisement
Smudla

IDAS2_CV1_HOMEFORK

Oct 12th, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.78 KB | None | 0 0
  1. CREATE OR REPLACE VIEW  cv1_regiony_prumer_pocet(region_nazev, prum_mzda, pocet_zam) AS
  2. SELECT NVL(region_nazev, 'N/A') AS region_nazev, ROUND(AVG(MZDA),1) AS prum_mzda, COUNT(*) AS pocet_zam
  3. FROM A_HR.zamestnanci
  4. LEFT JOIN A_HR.ODDELENI ON A_HR.ZAMESTNANCI.ODDELENI_ID = A_HR.ODDELENI.ODDELENI_ID
  5. LEFT JOIN A_HR.ADRESY ON  A_HR.oddeleni.adresa_ID = A_HR.ADRESY.ADRESA_ID
  6. LEFT JOIN A_HR.ZEME ON A_HR.adresy.zeme_ID = A_HR.zeme.zeme_ID
  7. LEFT JOIN A_HR.REGIONY ON A_HR.regiony.region_id = A_HR.ZEME.region_id
  8. GROUP BY REGION_NAZEV
  9. ORDER BY REGION_NAZEV;
  10.  
  11. CREATE OR REPLACE VIEW  cv1_zam_kolem_prumeru(zamestnanec_id, jmeno, prijmeni,
  12. oddeleni_nazev, mzda) AS
  13. SELECT ZAMESTNANEC_ID,JMENO,PRIJMENI,ODDELENI_NAZEV,MZDA
  14. FROM A_HR.ZAMESTNANCI
  15. JOIN A_HR.ODDELENI ON A_HR.ZAMESTNANCI.ODDELENI_ID=A_HR.ODDELENI.ODDELENI_ID
  16. WHERE
  17. ((SELECT ROUND(AVG(MZDA))FROM A_HR.ZAMESTNANCI)*0.7)<=mzda
  18. AND
  19. ((SELECT ROUND(AVG(MZDA)) FROM  A_HR.ZAMESTNANCI)*1.3) >=mzda
  20. ORDER BY ZAMESTNANEC_ID ASC;
  21.  
  22.  
  23. CREATE OR REPLACE VIEW cv1_nejnakladnejsi_oddeleni(oddeleni_nazev, suma_mezd) AS
  24. SELECT oddeleni_nazev,SUM(mzda) AS suma_mezd
  25. FROM a_hr.zamestnanci JOIN a_hr.oddeleni USING (oddeleni_id)
  26. HAVING SUM(mzda) =
  27. (SELECT MAX(SUM(mzda))
  28. FROM a_hr.zamestnanci JOIN a_hr.oddeleni USING (oddeleni_id) GROUP BY oddeleni_nazev)
  29. GROUP BY oddeleni_nazev;
  30.  
  31. CREATE OR REPLACE VIEW cv1_zam_oddeleni_nadprumer(cele_jmeno, oddeleni_nazev, mzda)AS
  32. SELECT jmeno || ' ' || prijmeni cele_jmeno, oddeleni.oddeleni_nazev, mzda
  33. FROM A_HR.zamestnanci JOIN A_HR.oddeleni ON a_hr.zamestnanci.oddeleni_id = a_hr.oddeleni.oddeleni_id
  34. JOIN (SELECT oddeleni_id, AVG(mzda) prumerna_mzda
  35. FROM A_HR.zamestnanci
  36. GROUP BY oddeleni_id)
  37. prumery_oddeleni
  38. ON zamestnanci.oddeleni_id = prumery_oddeleni.oddeleni_id WHERE mzda > prumerna_mzda;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement