Advertisement
Smudla

IDAS2_CV1_SPOLECNAPRACE

Oct 7th, 2015
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.26 KB | None | 0 0
  1. CREATE OR REPLACE VIEW cv1_pozice_oddeleni_10000(pozice_nazev, oddeleni_nazev,prum_mzda) AS
  2. SELECT A_HR.PRAC_POZICE.Pozice_nazev,  A_HR.ODDELENI.ODDELENI_Nazev, ROUND(avg(A_HR.ZAMESTNANCI.mzda),2)  FROM A_HR.ZAMESTNANCI
  3. JOIN A_HR.PRAC_POZICE ON A_HR.ZAMESTNANCI.POZICE_ID = A_HR.prac_pozice.POZICE_ID
  4. JOIN A_HR.ODDELENI ON A_HR.ZAMESTNANCI.ODDELENI_ID = A_HR.ODDELENI.ODDELENI_id
  5. GROUP BY A_HR.PRAC_POZICE.Pozice_nazev,  A_HR.ODDELENI.ODDELENI_Nazev
  6. HAVING avg( A_HR.ZAMESTNANCI.mzda)>10000
  7. ORDER BY ROUND(avg(A_HR.ZAMESTNANCI.mzda),2);
  8.  
  9. SELECT * FROM cv1_pozice_oddeleni_10000;
  10.  
  11. CREATE OR REPLACE VIEW  cv1_zamestnanci_oddeleni(cele_jmeno, oddeleni_nazev) AS
  12. SELECT jmeno || ' ' || prijmeni AS Cele_Jmeno, NVL(ODDELENI_NAZEV,'NEPŘIŘAZENO') AS Oddeleni_Nazev
  13. FROM A_HR.zamestnanci LEFT JOIN A_HR.ODDELENI USING(ODDELENI_ID)
  14. WHERE NVL(Oddeleni_nazev,'NEPŘIŘAZENO') NOT IN ('Sales','Shipping','Purchasing');
  15.  
  16. SELECT * FROM cv1_zamestnanci_oddeleni;
  17.  
  18. CREATE OR REPLACE VIEW cv1_bez_provize(zamestnanec_id, prijmeni, datum_nastup, dni) AS
  19. SELECT ZAMESTNANEC_ID,prijmeni, TO_char(Datum_nastup,'DD/MM/YYYY') AS Datum_nastupu,
  20. trunc(SYSDATE - DATUM_NASTUP) || ' dni' AS dni
  21. FROM A_HR.ZAMESTNANCI
  22. WHERE PROVIZE_procent IS NULL AND mzda >= (SELECT (avg(A_HR.ZAMESTNANCI.MZDA)*1.6) FROM A_HR.ZAMESTNANCI);
  23.  
  24. SELECT * FROM cv1_bez_provize;
  25.  
  26. CREATE OR REPLACE VIEW cv1_oddeleni_suma_mezd(oddeleni_nazev, suma_mezd) AS
  27. SELECT oddeleni_nazev, SUM(mzda)FROM A_HR.ZAMESTNANCI
  28. LEFT JOIN A_HR.ODDELENI ON A_HR.ZAMESTNANCI.ODDELENI_ID = A_HR.ODDELENI.ODDELENI_ID
  29. WHERE datum_nastup < to_date('01/01/1998','DD/mm/yyyy')
  30. GROUP BY oddeleni_nazev HAVING COUNT(A_HR.ZAMESTNANCI.ZAMESTNANEC_ID)>2
  31. ORDER BY  SUM(mzda) DESC;
  32.  
  33. SELECT * FROM cv1_oddeleni_suma_mezd;
  34.  
  35. CREATE OR REPLACE VIEW cv1_nejstarsi_nejmladsi(jmeno, prijmeni, datum_nastup, stav) AS
  36. SELECT Jmeno, prijmeni, datum_nastup,
  37. (CASE WHEN DATUM_NASTUP = (SELECT MAX(datum_nastup) FROM A_HR.ZAMESTNANCI) THEN 'SLUŽEBNĚ NEJSTARŠÍ' ELSE 'SLUŽEBNĚ NEJMLADŠÍ' END)
  38. AS stav FROM A_HR.ZAMESTNANCI
  39. WHERE
  40. Datum_nastup=(SELECT MIN(Datum_nastup) FROM A_HR.ZAMESTNANCI WHERE manazer_id IS NOT NULL)
  41. OR
  42. datum_nastup=(SELECT MAX(datum_nastup)FROM A_hr.zamestnanci WHERE manazer_id IS NOT NULL);
  43.  
  44. SELECT * FROM cv1_nejstarsi_nejmladsi;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement