Facebook
From Tiny Dolphin, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 257
  1. -- zadanie 1
  2. select Nazwa, Nazwisko, SUM(Brutto) as Razem
  3. from BazaRelacyjna.dbo.Osoby o
  4. join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
  5. join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
  6. group by rollup(Nazwa, Nazwisko);
  7.  
  8. -- zadanie 2
  9. select Nazwa, Nazwisko, SUM(Brutto) as Razem
  10.  from BazaRelacyjna.dbo.Osoby o
  11.  join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
  12.  join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
  13.  group by cube(Nazwa, Nazwisko);
  14.  
  15. -- zadanie 3
  16. select Nazwa, Nazwisko, SUM(Brutto) as Razem
  17. from BazaRelacyjna.dbo.Osoby o
  18. join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
  19. join BazaRelacyjna.dbo.Zarobki z on o.IdOsoby = z.IdOsoby
  20. group by grouping sets(Nazwa, Nazwisko);
  21.  
  22. -- zadanie 4
  23. select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
  24. from BazaRelacyjna.dbo.Wojewodztwa w
  25. join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
  26. join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
  27. join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
  28. join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
  29. group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru);
  30.  
  31. select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
  32. from BazaRelacyjna.dbo.Wojewodztwa w
  33. join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
  34. join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
  35. join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
  36. join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
  37. group by grouping sets(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru);
  38.  
  39. -- zadanie 5
  40. select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, SUM(Cena * szt) as Wartosc
  41. from BazaRelacyjna.dbo.Wojewodztwa w
  42. join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
  43. join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
  44. join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
  45. join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
  46. group by grouping sets((Wojewodztwo, Miasto), rollup(NazwaProducenta, NazwaTowaru));
  47.  
  48. -- zadanie 6
  49. select Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, (Cena * szt) as Wartosc,
  50. SUM(Cena * szt) OVER (PARTITION BY Wojewodztwo) as SumaWoj,
  51. SUM(Cena * szt) OVER (PARTITION BY Miasto) as SumaMiasto,
  52. SUM(Cena * szt) OVER (PARTITION BY NazwaProducenta) as SumaProducent,
  53. SUM(Cena * szt) OVER (PARTITION BY Cena * szt) as SumaTowar
  54. from BazaRelacyjna.dbo.Wojewodztwa w
  55. join BazaRelacyjna.dbo.Miasta m on w.IdWojewodztwa = m.IdWojewodztwa
  56. join BazaRelacyjna.dbo.Producenci p on p.IdMiasta = m.IdMiasta
  57. join BazaRelacyjna.dbo.Towar t on t.IdProducenta = p.IdProducenta
  58. join BazaRelacyjna.dbo.Transakcje tr on tr.IdTowaru = t.IdTowaru
  59. group by rollup(Wojewodztwo, Miasto, NazwaProducenta, NazwaTowaru, Cena*szt);
  60.  
  61. -- zadanie 7
  62. select Nazwa, Nazwisko, Wzrost
  63. from BazaRelacyjna.dbo.Osoby o
  64. join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu
  65. group by Nazwa, Wzrost, Nazwisko;
  66.  
  67. select Nazwa, Nazwisko, Wzrost, DENSE_RANK() OVER (PARTITION BY Nazwa ORDER BY Wzrost) as Ranking
  68. from BazaRelacyjna.dbo.Osoby o
  69. join BazaRelacyjna.dbo.Dzialy d on d.IdDzialu = o.IdDzialu;
  70.  
  71. -- zadanie 8
  72. -- malejący ranking płac osób
  73. select Nazwisko, Brutto, RANK() OVER (ORDER BY Brutto desc) as Ranking
  74. from BazaRelacyjna.dbo.Osoby o
  75. join BazaRelacyjna.dbo.Zarobki z on z.IdOsoby = o.IdOsoby;
  76.  
  77. --
  78. select Nazwisko, RokUrodz, CUME_DIST() OVER (ORDER BY RokUrodz asc) as Ranking
  79. from BazaRelacyjna.dbo.Osoby o
  80. group by Nazwisko, RokUrodz;