generated from imioer/template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e6f3975
commit b33913d
Showing
1 changed file
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
### 1. Koliko je svake godine odigrano utakmica. (godina, broj_odigranih_utakmica) | ||
|
||
```sql | ||
select s.godina, count(*) as broj_odigranih_utakmica | ||
from utakmice u | ||
inner join sezona s | ||
on u.id_sezone = s.id | ||
group by s.godina | ||
``` | ||
|
||
### 2. Igrač koji je sklopio ugovor na najduži period. (id_igraca, period_u_danima) | ||
|
||
```sql | ||
select id_igraca, DATEDIFF(Day, datum1, datum2) as 'broj_dana' | ||
from ugovori | ||
where DATEDIFF(Day, datum1, datum2) = | ||
( | ||
select MAX(DATEDIFF(day, u.datum1, u.datum2)) | ||
from ugovori u | ||
) | ||
``` | ||
|
||
### 3. Za svakog igrača koliko je postigao ukupno golova računajući i autogolove(ugnježdeni).(ime, broj_golova) - nije dozvoljeno koristiti join mehanizam. | ||
|
||
```sql | ||
select i.ime, | ||
( | ||
select count(*) | ||
from golovi g | ||
where g.id_igraca = i.id | ||
) as broj_golova | ||
from igraci i | ||
``` | ||
|
||
### 4. Spisak fudbalera koji su odigrali više od 3 utakmice u nekoj od sezona. (godina, id_igraca, broj_utakmica) | ||
|
||
```sql | ||
select s.godina, ug.id_igraca, count(*) | ||
from utakmice ut | ||
inner join sezona s | ||
on ut.id_sezone = s.id | ||
inner join ugovori ug | ||
on ug.id_tima in (ut.id_domacina, ut.id_gosta) and | ||
s.godina between year(ug.datum1) and year(ug.datum2) | ||
group by s.godina, ug.id_igraca | ||
having count(*) > 3 | ||
``` | ||
|
||
### 5. Rezultat svake utakmice. (id_utakmice, nazivTimaDomacina, nazivTimaGosta,rezultati) - rezultat treba da bude u formatu “brojGolovaDomacina:brojGolovaGosta” | ||
|
||
```sql | ||
select u.id, d.naziv, g.naziv, concat( | ||
( | ||
select count(*) | ||
from golovi g1 | ||
where g1.id_utakmice = u.id and g1.id_tima = u.id_domacina | ||
), | ||
':', | ||
( | ||
select count(*) | ||
from golovi g2 | ||
where g2.id_utakmice = u.id and g2.id_tima = u.id_gosta | ||
)) as rezultat | ||
from utakmice u | ||
inner join timovi d | ||
on u.id_domacina = d.id | ||
inner join timovi g | ||
on u.id_gosta = g.id | ||
``` | ||
|
||
### 6. Igrač sa najviše postignutih autogolova. (id_igraca, ime, broj_autogolova | ||
|
||
```sql | ||
go | ||
create view autoGolovi | ||
as | ||
select g.id_igraca, i.ime, count(*) as 'broj_auto_golova' | ||
from golovi g | ||
inner join igraci i | ||
on g.id_igraca = i.id | ||
inner join utakmice u | ||
on g.id_utakmice = u.id | ||
inner join sezona s | ||
on u.id_sezone = s.id | ||
inner join ugovori ug | ||
on | ||
g.id_igraca = ug.id_igraca and | ||
g.id_tima != ug.id_tima and | ||
s.godina between year(ug.datum1) and year(ug.datum2) | ||
group by g.id_igraca, i.ime | ||
go | ||
|
||
select ime, broj_auto_golova | ||
from autoGolovi | ||
where broj_auto_golova = | ||
( | ||
select max(broj_auto_golova) | ||
from autoGolovi | ||
) | ||
``` |