Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.57 KB | None | 0 0
  1. 1.  Igraci koji su dobili hendikep 1 posle 9. Meseca
  2. CREATE PROC Upit1 AS SELECT Concat(igrac.igracime, ' ', igrac.igracprezime) AS [IGRAC] FROM igrac JOIN hendikep ON igrac.igracid = hendikep.igracid WHERE MONTH(hendikepdatum) > 9 AND hendikepbroj = 1; GO EXEC Upit1
  3.  
  4. 2.  Broj sati igre igraca sa hendikepom 1.
  5. CREATE PROC Upit2 AS SELECT Datediff(HOUR, rundepocetakrunde, rundekrajrunde) AS [BROJ SATI IGRE] FROM (( runde JOIN igracrunde ON runde.rundeid = igracrunde.rundeid ) JOIN igrac ON igracrunde.igracid = igrac.igracid) JOIN hendikep ON igrac.igracid = hendikep.igracid WHERE hendikepbroj = 1 GO EXECUTE Upit2
  6.  
  7. 3.  Igraci sa vecim rezultatima od standarda terena.
  8. CREATE PROC Upit3 AS SELECT Concat(igracime, ' ', igracprezime) AS [IGRACI SA VECIM REZULTATIMA OD STANDARDA TERENA], igracrunderezultat AS [REZULTATI], terenstandard AS [STANDARD] FROM ( ( teren JOIN runde ON teren.terenid = runde.terenid ) JOIN igracrunde ON runde.rundeid = igracrunde.rundeid ) JOIN igrac ON igrac.igracid = igracrunde.igracid WHERE igracrunderezultat > terenstandard GO EXEC Upit3
  9.  
  10. 4.  Prosecna razdaljina do rupe na svim terenima.
  11. CREATE PROC Upi4 AS SELECT Avg(CAST(razdaljinadorupe AS FLOAT)) AS [prosecna razdaljina do rupe na svim terenima] FROM teren JOIN terendetalji ON teren.terenid = terendetalji.terenid SELECT razdaljinadorupe AS [prosecna razdaljina do rupe na svim terenima] FROM teren JOIN terendetalji ON teren.terenid = terendetalji.terenid GO EXEC Upi4
  12.  
  13. 5.  Igrac sa najboljim rezultatom u bazi.
  14. CREATE PROC Upit5 AS SELECT TOP 1 Concat(igracime, ' ', igracprezime, ' ', igracmobilni) AS [najbolji IGRAC], igracrunderezultat AS [rezultat] FROM igrac JOIN igracrunde ON igrac.igracid = igracrunde.igracid ORDER BY igracrunderezultat DESC GO EXECUTE Upit5
  15. 6.  Informacije o izabranom terenu.
  16. CREATE PROC Upit6 @teren VARCHAR(50) AS SELECT terenime AS [IME TERENA], terengrad AS [GRAD], terenkontakt AS [KONTAKT TELEFON], rundebrojrunde AS [RUNDE] FROM teren JOIN runde ON runde.terenid = teren.terenid WHERE teren.terenime = @teren GO EXEC Upit6 'Big Royal'
  17. 7.  Prikazati najbolje igrace sa hendikepom manjim od 5 i rezultatima vecim od prosecnih rezultata svih terena.
  18. CREATE PROC Upit7 AS SELECT Concat(igracime, ' ', igracprezime) AS [IGRACI], terenime AS [NAZIV TERENA], hendikepbroj AS [HENDIKEP] FROM ( ((igrac JOIN hendikep ON igrac.igracid = hendikep.hendikepid ) JOIN igracrunde ON igrac.igracid = igracrunde.igracid ) JOIN runde ON runde.rundeid = igracrunde.rundeid ) JOIN teren ON teren.terenid = runde.terenid WHERE hendikepbroj < 5 AND igracrunderezultat > (SELECT Avg(CAST(terenstandard AS FLOAT)) FROM ( ((igrac JOIN hendikep ON igrac.igracid = hendikep.hendikepid ) JOIN igracrunde ON igrac.igracid = igracrunde.igracid ) JOIN runde ON runde.rundeid = igracrunde.rundeid ) JOIN teren ON teren.terenid = runde.terenid) ORDER BY hendikepbroj DESC GO EXEC Upit7
  19.  
  20. 8.  Prikazati terene koji pocinju izabranim tekstom i standardom terena vecim od 25.
  21. CREATE PROCEDURE upit8 @slovo VARCHAR(10) AS SELECT terenIME AS [NAZIV TERENA], teren.terenADRESA AS [ADRESA TERENA], teren.terenKONTAKT AS [KONTAKT] FROM TEREN WHERE terenSTANDARD > 25 AND ( terenIME LIKE '%' + @slovo + '%' ) GO
  22.  
  23. 9.  Prikazati ime i prezime igraca koji su ostvarili hendikep manji od 4.
  24. CREATE PROCEDURE Upit9 AS SELECT igracime AS [IME], igracprezime AS [prezime], hendikepBROJ = CASE WHEN hendikepbroj = 0 THEN 'nula' WHEN hendikepbroj = 1 THEN 'jedan' WHEN hendikepbroj = 2 THEN 'dva' WHEN hendikepbroj = 3 THEN 'tri' ELSE 'nista' END FROM igrac JOIN hendikep ON igrac.igracid = hendikep.igracid WHERE hendikepbroj < 4; GO EXEC Upit9
  25.  
  26. 10.  Prikazati ime terena kojima je razdaljina do rupe veca od prosecne razdaljine do rupe svih terena kojima je razdaljina do rupe veca od 25 ili standard terena veci od prosecnog standarda svih terena kojima je standard manji od 50.
  27. CREATE PROC Upit10 AS SELECT terenime AS [ime terena], razdaljinadorupe AS [razdaljina do rupe], terenstandard AS [standard] FROM terendetalji JOIN teren ON terendetalji.terenid = teren.terenid WHERE ( razdaljinadorupe > (SELECT Avg(CAST(razdaljinadorupe AS FLOAT)) FROM terendetalji JOIN teren ON terendetalji.terenid = teren.terenid HAVING Avg(CAST(razdaljinadorupe AS FLOAT)) > 25) OR terenstandard > (SELECT Avg(CAST(terenstandard AS FLOAT)) FROM terendetalji JOIN teren ON terendetalji.terenid = teren.terenid HAVING Avg(CAST(terenstandard AS FLOAT)) < 50) ) AND terenime LIKE 'b%' GO EXEC Upit10
  28.  
  29. 11. Prikazati sve ostvarene hendikepe, koliko dugo je trajala ta igra I ko je ostvario hendikep.
  30. SELECT Concat(Datepart(HOUR, hendikepdatum), ' sati i ', Datepart(MINUTE, hendikepdatum), ' minuta') AS [Vreme kada je hendikep ostvaren], Concat(Datediff(HOUR, rundepocetakrunde, rundekrajrunde), ' h') AS [Broj Sati igre], Concat(igracime, ' ', igracprezime) AS [Igrac] FROM hendikep JOIN hendikeprunda ON hendikep.hendikepid = hendikeprunda.hendikepid JOIN runde ON hendikeprunda.rundeid = runde.rundeid JOIN teren ON runde.terenid = teren.terenid JOIN igrac ON hendikep.igracid = igrac.igracid
  31.  
  32.  
  33. 12. Prikazati sve igrace koji nisu ostvarili hendikep
  34. SELECT [igraci] FROM (SELECT igracid AS [ID Igraca], Concat(igracime, ' ', igracprezime) AS [Igraci] FROM igrac) t1 FULL JOIN (SELECT igracid FROM hendikep) t2 ON t1.[id igraca] = t2.igracid WHERE t2.igracid IS NULL
  35.  
  36. 13. Triger ime igraca mora biti uneto, prezime mora biti duze od 3 slova I moblini igraca mora poceti 0’om.
  37. ALTER TRIGGER trig1 ON igrac FOR INSERT, UPDATE AS IF EXISTS(SELECT * FROM inserted WHERE Len(igracime) = 0 OR Len(igracprezime) < 3 OR igracmobilni NOT LIKE '0%') BEGIN ROLLBACK TRANSACTION PRINT 'Greska' END GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement