Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use hurtownie
- CREATE TABLE studenci(
- "imie" varchar(20) default NULL,
- "nazwisko" varchar(30) default NULL,
- "data_urodzenia" datetime default NULL,
- "plec" char(1) default NULL,
- "miasto" varchar(30) default NULL,
- "liczba_dzieci" int default NULL)
- --
- -- Zrzut danych tabeli "studenci"
- --
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Jacek', 'Kowalski', '1997-01-01' , 'M', 'Katowice', 2)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Ewa', 'Nijaka', '1980-05-20', 'K', 'Chorzow', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Monika', 'Jakas', '1985-04-14', 'K', 'Gliwice', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Katarzyna', 'Miastowa', '1982-01-10', 'K', 'Warszawa', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Jacek', 'Chwiejski', '1981-04-02', 'M', 'Katowice', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Barbara', 'Wszelka', '1981-05-24', 'K', 'Zabrze', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Bogdan', 'Wiejski', '1983-10-20', 'M', 'Sosnowiec', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Bogumila', 'zawadzka', '1981-11-14', 'K', 'Czeladz', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Ewelina', 'Mostowa', '1982-12-02', 'K', 'Katowice', 2)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Marek', 'Pa?dek', '1982-09-28', 'M', 'Ruda ?l?ska', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Slawomir', 'Kowalski', '1983-08-08', 'M', 'Katowice', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Tomasz', 'Nowak', '1985-02-27', 'M', 'Katowice', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Jaroslaw', 'Polski', '1982-05-11', 'M', 'Katowice', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Kamila', 'Parker', '1981-10-01', 'K', 'Katowice', 2)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Pawel', 'Dolny', '1982-07-02', 'M', 'Katowice', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Wojciech', 'Kargul', '1982-04-18', 'M', 'Zabrze', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('James', 'Bond', '1983-02-28', 'M', 'Krakow', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Lech', 'Bajerka', '1982-02-18', 'M', 'Warszawa', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Maciej', 'Teples', '1983-08-08', 'M', 'Zabrze', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Majka', 'Owakowa', '1982-01-12', 'K', 'Katowice', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Krzysztof', 'Wolniewicz', '1982-09-01', 'M', 'Rybnik', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Leszek', 'Gorny', '1982-04-02', 'M', 'Katowice', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Marek', 'Plotowy', '1982-02-02', 'M', 'Chorzow', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Jakub', 'Bondowy', '1984-01-18', 'M', 'Zabrze', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Monika', 'Majowska', '1981-03-18', 'K', 'Katowice', 3)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Marek', 'Tipkowski', '1982-08-08', 'M', 'Zabrze', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Olek', 'Olkowy', '1983-05-12', 'M', 'Katowice', 1)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Marcin', 'Matrowski', '1982-05-23', 'M', 'Ruda Slaska', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Ewa', 'Kowalska', '2005-01-01', 'K', 'Katowice', 0)
- INSERT INTO "studenci" (imie, nazwisko, data_urodzenia, plec, miasto, liczba_dzieci)
- VALUES ('Ala', 'Akowa', '1978-12-12', 'K', 'Bytom', 2)
- select * from studenci
- 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
- on year(s1.data_urodzenia) = year(s2.data_urodzenia)
- and s1.imie + s1.nazwisko > s2.imie + s2.nazwisko and s1.plec != s2.plec
- -- pary osob urodzonych w tym samym roku ale majacych rozna plec bez powtorzen
- -- utworzyc czytelny raport wyswietlajacy sume liczby dzieci w podziale na miasto plec rok urodzenia i dzien tygodnia urodzenia na roznych poziomach szczegolowosci
- create view
- raport as
- select miasto, plec, year(data_urodzenia)as 'rok urodzenia', DATENAME(WEEKDAY,data_urodzenia) as 'dzien tygodnia',
- count(*) liczba_dzieci
- from studenci
- group by miasto,plec, year(data_urodzenia), DATENAME(WEEKDAY,data_urodzenia)
- with cube
- create view
- raport as
- select case grouping(miasto)
- when 1 then 'wszystkie miasta'
- else miasto end miasto,
- case grouping (plec)
- when 1 then 'wszystkie plcie'
- else plec end plec,
- case grouping (year(data_urodzenia))
- when 1 then 'wszystkie lata' else cast(year(data_urodzenia) as varchar(15))
- end rok_urodzenia,
- case grouping (DATENAME(WEEKDAY,data_urodzenia))
- when 1 then 'wszystkie dni tygodnia' else cast (DateName(WEEKDAY, data_urodzenia) as varchar(15))
- end dzien_urodzenia,
- count(*) liczba_dzieci
- from studenci
- group by miasto, plec,data_urodzenia, year(data_urodzenia), DATENAME(weekday,data_urodzenia)
- with rollup
- select* from raport
- select sum(liczba_dzieci), plec, miasto, year(data_urodzenia),
- grouping (plec)
- from studenci
- group by
- grouping sets ((plec,miasto),year(data_urodzenia),plec, (plec,miasto,year(data_urodzenia)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement