-- zadanie 1 select Nazwa, Nazwisko, SUM(Brutto) as Razem from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby group by rollup(Nazwa, Nazwisko); -- zadanie 2 select Nazwa, Nazwisko, SUM(Brutto) as Razem from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby group by cube(Nazwa, Nazwisko); -- zadanie 3 select Nazwa, Nazwisko, SUM(Brutto) as Razem from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby group by grouping sets(Nazwa, Nazwisko); -- zadanie 4 select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc from BazaRelacyjna.dbo.Wojewodztwa w join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru); select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc from BazaRelacyjna.dbo.Wojewodztwa w join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru group by grouping sets(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru); -- zadanie 5 select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc from BazaRelacyjna.dbo.Wojewodztwa w join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru group by grouping sets((Wojewodztwo, Miasto), rollup(NazwaProducenta, NazwaTowaru)); -- zadanie 6 select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, (Cena * szt) as Wartosc, SUM(Cena * szt) OVER (PARTITION BY Wojewodztwo) as SumaWoj, SUM(Cena * szt) OVER (PARTITION BY Miasto) as SumaMiasto, SUM(Cena * szt) OVER (PARTITION BY NazwaProducenta) as SumaProducent, SUM(Cena * szt) OVER (PARTITION BY Cena * szt) as SumaTowar from BazaRelacyjna.dbo.Wojewodztwa w join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, Cena*szt); -- zadanie 7 select Nazwa, Nazwisko, Wzrost from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu group by Nazwa, Wzrost, Nazwisko; select Nazwa, Nazwisko, Wzrost, DENSE_RANK() OVER (PARTITION BY Nazwa ORDER BY Wzrost) as Ranking from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu; -- zadanie 8 -- malejący ranking płac osób select Nazwisko, Brutto, RANK() OVER (ORDER BY Brutto desc) as Ranking from BazaRelacyjna.dbo.Osoby o join BazaRelacyjna.dbo.Zarobki z on z.IdOsoby = o.IdOsoby; -- select Nazwisko, RokUrodz, CUME_DIST() OVER (ORDER BY RokUrodz asc) as Ranking from BazaRelacyjna.dbo.Osoby o group by Nazwisko, RokUrodz;