Advertisement
LudnicaKiller

Untitled

Sep 1st, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.83 KB | None | 0 0
  1. -- ISHOD 6
  2. SELECT * FROM Komercijalist
  3.  
  4. -- 2. zadatak
  5. SELECT Ime,Prezime,SUBSTRING(ime,1,1)+'.'+SUBSTRING(prezime,1,1)+'.' AS 'Inicijali'
  6. FROM Komercijalist
  7. WHERE StalniZaposlenik=0
  8.  
  9. -- 3. zadatak
  10. SELECT datediff(YEAR,MIN(DatumIzdavanja),getdate()) AS 'najraniji racun',
  11. datediff(YEAR,MAX(DatumIzdavanja),getdate()) AS 'najstariji racun'
  12. FROM Racun
  13.  
  14. -- 4. zadatak
  15. SELECT DISTINCT datepart(YEAR,datumizdavanja) AS 'godina',
  16. COUNT(idracun) AS 'broj racuna',
  17. SUM(stavka.UkupnaCijena) AS 'ukupna suma'
  18. FROM Racun
  19.     INNER JOIN stavka ON stavka.RacunID=racun.IDRacun
  20. WHERE datepart(MONTH,datumizdavanja)=12
  21. GROUP BY DatumIzdavanja
  22.  
  23. -- 5. zadatak
  24. SELECT k.Naziv AS 'naziv kategorije',COUNT(IDProizvod) AS 'broj neprodanih proizvoda'
  25. FROM Proizvod
  26. INNER JOIN Potkategorija ON proizvod.PotkategorijaID=Potkategorija.IDPotkategorija
  27. INNER JOIN Kategorija AS k ON Potkategorija.KategorijaID=K.IDKategorija
  28. LEFT OUTER JOIN stavka ON proizvod.IDProizvod=stavka.ProizvodID
  29. WHERE stavka.IDStavka IS NULL
  30. GROUP BY k.Naziv
  31.  
  32. SELECT * FROM Racun
  33. SELECT * FROM Potkategorija
  34.  
  35. -- ISHOD 7
  36. -- 6. zadatak
  37. SELECT DISTINCT Ime,Prezime FROM kupac WHERE IDKupac NOT IN (
  38. SELECT racun.KupacID
  39. FROM Racun
  40. )
  41. SELECT * FROM Kupac
  42.  
  43. -- 7. zadatak
  44. SELECT idracun,DatumIzdavanja,(
  45. SELECT SUM(RacunID) FROM Stavka
  46. WHERE RacunID=IDRacun)AS 'ukupna suma'
  47. FROM Racun
  48.  
  49. -- 8. zadatak
  50. SELECT naziv
  51. FROM grad WHERE IDGrad IN (SELECT gradID FROM Kupac
  52. WHERE IDKupac IN(SELECT kupacID FROM racun WHERE KreditnaKarticaID IN (SELECT KreditnaKarticaID FROM KreditnaKartica WHERE tip='Visa')
  53. ))
  54.  
  55. -- 9. zadatak
  56. SELECT
  57.     kat.Naziv, AVG(p.CijenaBezPDV) AS ProsjekKategorije,
  58.     (
  59.         SELECT
  60.             avg(CijenaBezPDV)
  61.         FROM Proizvod AS p1
  62.     ) AS ProsjekSvihProizvoda
  63. FROM Proizvod AS p
  64. INNER JOIN Potkategorija AS pk ON pk.IDPotkategorija=p.PotkategorijaID
  65. INNER JOIN Kategorija AS kat ON kat.IDKategorija=pk.IDPotkategorija
  66. GROUP BY kat.Naziv
  67. HAVING avg(p.CijenaBezPDV)<(
  68.                     SELECT
  69.                         avg(CijenaBezPDV)
  70.                     FROM Proizvod AS p1
  71.                         )
  72.  
  73.  
  74. ----------------------------------------------------------------------------------------------------
  75. -------------------------------------------ISHOD UČENJA 6-------------------------------------------
  76. ----------------------------------------------------------------------------------------------------
  77.  
  78. --Zadatak 1.
  79. SELECT
  80.     k.Ime AS ImeKupca,
  81.     k.Prezime AS PrezimeKupca,
  82.     LEFT(k.Ime, LEN(k.Ime) / 2) + RIGHT(k.Prezime, LEN(k.Prezime) / 2)
  83. FROM Kupac AS k
  84.  
  85. --Zadatak 2.
  86. SELECT
  87.     r.IDRacun AS IDracun,
  88.     r.KreditnaKarticaID AS KKid,
  89.     CONVERT(VARCHAR, r.IDRacun) + '-' + CONVERT(VARCHAR, r.KreditnaKarticaID) AS Kombinacija
  90. FROM Racun AS r
  91.  
  92. --Zadatak 3.
  93. SELECT TOP 3
  94.     k.Tip AS TipKartice,
  95.     SUM(s.UkupnaCijena) AS UkupniIznos
  96. FROM Racun AS r
  97. INNER JOIN KreditnaKartica AS k ON k.IDKreditnaKartica = r.KreditnaKarticaID
  98. INNER JOIN Stavka AS s ON s.RacunID = r.IDRacun
  99. WHERE (DAY(r.DatumIzdavanja) BETWEEN 1 AND 7) OR (MONTH(r.DatumIzdavanja) BETWEEN 7 AND 9)
  100. GROUP BY k.Tip
  101. ORDER BY UkupniIznos DESC
  102.  
  103. --Zadatak 4.
  104. SELECT
  105.     COUNT(k.IDKupac) AS Suma
  106. FROM Potkategorija AS P
  107. FULL OUTER JOIN Proizvod AS pr ON pr.PotkategorijaID = p.IDPotkategorija
  108. FULL OUTER JOIN Stavka AS s ON s.ProizvodID = pr.IDProizvod
  109. FULL OUTER JOIN Racun AS r ON r.IDRacun = s.RacunID
  110. FULL OUTER JOIN Kupac AS k ON k.IDKupac = r.KupacID
  111. WHERE p.Naziv != 'Čarape'
  112.  
  113. ----------------------------------------------------------------------------------------------------
  114. -------------------------------------------ISHOD UČENJA 7-------------------------------------------
  115. ----------------------------------------------------------------------------------------------------
  116.  
  117. --Zadatak 1.
  118. SELECT
  119.     k.Ime AS ImeKomercijalista,
  120.     k.Prezime AS PrezimeKomercijalista
  121. FROM Komercijalist AS k
  122. WHERE
  123.     (
  124.         SELECT
  125.             COUNT(*)
  126.         FROM Racun AS r
  127.         WHERE r.KomercijalistID = k.IDKomercijalist
  128.     ) = 0
  129.    
  130. --Zadatak 2.
  131. SELECT
  132.     g.Naziv,
  133.     (
  134.         SELECT
  135.             SUM(s.UkupnaCijena)
  136.         FROM Stavka AS s
  137.         WHERE s.RacunID IN
  138.         (
  139.             SELECT
  140.                 r.IDRacun
  141.             FROM Racun AS r
  142.             WHERE r.KupacID IN
  143.             (
  144.                 SELECT
  145.                     k.IDKupac
  146.                 FROM Kupac AS k
  147.                 WHERE k.GradID = g.IDGrad
  148.             )
  149.         )
  150.     ) AS Ukupno
  151. FROM Grad AS g
  152. ORDER BY Ukupno DESC
  153.  
  154. --Zadatak 3.
  155. SELECT
  156.     g.Naziv AS Naziv
  157. FROM Grad AS g
  158. WHERE g.IDGrad IN
  159.     (
  160.         SELECT
  161.             k.GradID
  162.         FROM Kupac AS k
  163.         WHERE k.IDKupac IN
  164.         (
  165.             SELECT
  166.                 r.KupacID
  167.             FROM Racun AS r
  168.             WHERE r.KomercijalistID IN
  169.             (
  170.                 SELECT
  171.                     ko.IDKomercijalist
  172.                 FROM Komercijalist AS ko
  173.                 WHERE ko.StalniZaposlenik = 0
  174.             )
  175.         )
  176.     )
  177.  
  178. --Zadatak 4.
  179. SELECT TOP 5
  180.     p.Naziv AS Naziv,
  181.     (
  182.         SELECT
  183.             SUM(s.Kolicina)
  184.         FROM Stavka AS s
  185.         WHERE s.ProizvodID IN
  186.         (
  187.             SELECT
  188.                 pr.IDProizvod
  189.             FROM Proizvod AS pr
  190.             WHERE (pr.PotkategorijaID = p.IDPotkategorija) AND (pr.Boja = 'Crna' OR pr.Boja IS NULL)
  191.         )
  192.     ) AS UkupnaKolicina
  193. FROM Potkategorija AS p
  194. ORDER BY UkupnaKolicina DESC
  195.  
  196. ----------------------------------------------------------------------------------------------------
  197. ------------------------------------------------KRAJ------------------------------------------------
  198. ----------------------------------------------------------------------------------------------------
  199.  
  200.  
  201.  
  202. -- SVE OSTALO
  203. SELECT
  204.     YEAR(r.DatumIzdavanja) AS 'GodinaIzdavanja',
  205.     COUNT(r.IDRacun) AS 'KolikoRacuna',
  206.     SUM(s.UkupnaCijena) AS 'Promet'
  207. FROM Racun AS r
  208. INNER JOIN Stavka AS s ON s.RacunID = r.IDRacun
  209. WHERE MONTH(r.DatumIzdavanja) = 12
  210. GROUP BY YEAR (r.DatumIzdavanja)
  211.  
  212. SELECT * FROM Stavka
  213.  
  214. -- 9. zadatak KRIVO
  215. SELECT Naziv
  216. FROM Kategorija WHERE IDKategorija IN(
  217. SELECT kategorijaID FROM Potkategorija
  218. WHERE IDPotkategorija IN(
  219. SELECT PotkategorijaID FROM Proizvod
  220. GROUP BY PotkategorijaID,CijenaBezPDV
  221. HAVING
  222. CijenaBezPDV<(SUM(CijenaBezPDV)/COUNT(IDProizvod))
  223. ))
  224. -- select sum(CijenaBezPDV)/count(IDProizvod) from proizvod
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement