Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. use hurtownie
  2. CREATE TABLE studenci(
  3. "imie" varchar(20) default NULL,
  4. "nazwisko" varchar(30) default NULL,
  5. "data_urodzenia" datetime default NULL,
  6. "plec" char(1) default NULL,
  7. "miasto" varchar(30) default NULL,
  8. "liczba_dzieci" int default NULL)
  9.  
  10.  
  11. --
  12. -- Zrzut danych tabeli "studenci"
  13. --
  14.  
  15. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  16. VALUES ('Jacek', 'Kowalski', '1997-01-01' , 'M', 'Katowice', 2)
  17. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  18. VALUES ('Ewa', 'Nijaka', '1980-05-20', 'K', 'Chorzow', 0)
  19. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  20. VALUES ('Monika', 'Jakas', '1985-04-14', 'K', 'Gliwice', 0)
  21. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  22. VALUES ('Katarzyna', 'Miastowa', '1982-01-10', 'K', 'Warszawa', 1)
  23. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  24. VALUES ('Jacek', 'Chwiejski', '1981-04-02', 'M', 'Katowice', 1)
  25. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  26. VALUES ('Barbara', 'Wszelka', '1981-05-24', 'K', 'Zabrze', 1)
  27. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  28. VALUES ('Bogdan', 'Wiejski', '1983-10-20', 'M', 'Sosnowiec', 0)
  29. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  30. VALUES ('Bogumila', 'zawadzka', '1981-11-14', 'K', 'Czeladz', 0)
  31. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  32. VALUES ('Ewelina', 'Mostowa', '1982-12-02', 'K', 'Katowice', 2)
  33. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  34. VALUES ('Marek', 'Pa?dek', '1982-09-28', 'M', 'Ruda ?l?ska', 0)
  35. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  36. VALUES ('Slawomir', 'Kowalski', '1983-08-08', 'M', 'Katowice', 1)
  37. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  38. VALUES ('Tomasz', 'Nowak', '1985-02-27', 'M', 'Katowice', 0)
  39. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  40. VALUES ('Jaroslaw', 'Polski', '1982-05-11', 'M', 'Katowice', 0)
  41. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  42. VALUES ('Kamila', 'Parker', '1981-10-01', 'K', 'Katowice', 2)
  43. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  44. VALUES ('Pawel', 'Dolny', '1982-07-02', 'M', 'Katowice', 1)
  45. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  46. VALUES ('Wojciech', 'Kargul', '1982-04-18', 'M', 'Zabrze', 1)
  47. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  48. VALUES ('James', 'Bond', '1983-02-28', 'M', 'Krakow', 0)
  49. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  50. VALUES ('Lech', 'Bajerka', '1982-02-18', 'M', 'Warszawa', 0)
  51. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  52. VALUES ('Maciej', 'Teples', '1983-08-08', 'M', 'Zabrze', 0)
  53. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  54. VALUES ('Majka', 'Owakowa', '1982-01-12', 'K', 'Katowice', 1)
  55. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  56. VALUES ('Krzysztof', 'Wolniewicz', '1982-09-01', 'M', 'Rybnik', 1)
  57. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  58. VALUES ('Leszek', 'Gorny', '1982-04-02', 'M', 'Katowice', 0)
  59. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  60. VALUES ('Marek', 'Plotowy', '1982-02-02', 'M', 'Chorzow', 1)
  61. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  62. VALUES ('Jakub', 'Bondowy', '1984-01-18', 'M', 'Zabrze', 1)
  63. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  64. VALUES ('Monika', 'Majowska', '1981-03-18', 'K', 'Katowice', 3)
  65. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  66. VALUES ('Marek', 'Tipkowski', '1982-08-08', 'M', 'Zabrze', 0)
  67. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  68. VALUES ('Olek', 'Olkowy', '1983-05-12', 'M', 'Katowice', 1)
  69. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  70. VALUES ('Marcin', 'Matrowski', '1982-05-23', 'M', 'Ruda Slaska', 0)
  71. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  72. VALUES ('Ewa', 'Kowalska', '2005-01-01', 'K', 'Katowice', 0)
  73. INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
  74. VALUES ('Ala', 'Akowa', '1978-12-12', 'K', 'Bytom', 2)
  75.  
  76.  
  77.  
  78. select * from studenci
  79.  
  80.  
  81. select s1.imie , s1.nazwisko, s1.data_urodzenia, s1.plec, s2.imie, s2.nazwisko, s2.data_urodzenia, s2.plec from studenci s1 join studenci s2
  82. on year(s1.data_urodzenia) = year(s2.data_urodzenia)
  83. and s1.imie + s1.nazwisko > s2.imie + s2.nazwisko and s1.plec != s2.plec
  84. -- pary osob urodzonych w tym samym roku ale majacych rozna plec bez powtorzen
  85.  
  86. -- utworzyc czytelny raport wyswietlajacy sume liczby dzieci w podziale na miasto plec rok urodzenia i dzien tygodnia urodzenia na roznych poziomach szczegolowosci
  87. create view
  88. raport as
  89. select miasto, plec, year(data_urodzenia)as 'rok urodzenia', DATENAME(WEEKDAY,data_urodzenia) as 'dzien tygodnia',
  90. count(*) liczba_dzieci
  91. from studenci
  92. group by miasto,plec, year(data_urodzenia), DATENAME(WEEKDAY,data_urodzenia)
  93. with cube
  94.  
  95. create view
  96. raport as
  97.  
  98. select case grouping(miasto)
  99. when 1 then 'wszystkie miasta'
  100. else miasto end miasto,
  101. case grouping (plec)
  102. when 1 then 'wszystkie plcie'
  103. else plec end plec,
  104. case grouping (year(data_urodzenia))
  105. when 1 then 'wszystkie lata' else cast(year(data_urodzenia) as varchar(15))
  106. end rok_urodzenia,
  107. case grouping (DATENAME(WEEKDAY,data_urodzenia))
  108. when 1 then 'wszystkie dni tygodnia' else cast (DateName(WEEKDAY, data_urodzenia) as varchar(15))
  109. end dzien_urodzenia,
  110. count(*) liczba_dzieci
  111. from studenci
  112. group by miasto, plec,data_urodzenia, year(data_urodzenia), DATENAME(weekday,data_urodzenia)
  113. with rollup
  114.  
  115.  
  116. select* from raport
  117.  
  118.  
  119. select sum(liczba_dzieci), plec, miasto, year(data_urodzenia),
  120. grouping (plec)
  121. from studenci
  122. group by
  123. grouping sets ((plec,miasto),year(data_urodzenia),plec, (plec,miasto,year(data_urodzenia)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement