7920


Zad3

Pokaz nazwiska, imiona oraz liczbe wypożyczonych pozycji przez wypożyczającego w roku 2003, którzy wypożyczali powyżej 20 pozycji z czego najmniej 4 ksiazki były wydane przez wyd Bellona oraz co najwyzej 3 przez Helion ( uporzad malejąco wg liczby wypożyczeń )

SELECT a.Nazwisko, a.Imie, sum(a.liczba) as LiczbaWypozyczen

from

(

select W.Nazwisko, w.Imie, count( * ) as liczba

from wypozyczenie wyp, Wypozyczajacy w, PozycjaBiblioteczna Pb, Tytul t, Wydawnictwo Wdw

where w.idwypozyczajacego=wyp.idwypozyczajacego

and wyp.idtytulu=pb.idtytulu

and pb.idtytulu=t.idtytulu

and t.idwydawnictwa=wdw.idwydawnictwa

and wdw.NazwaWydawnictwa='Bellona'

group by W.Nazwisko, w.Imie

having liczba >= 4

union

select W.Nazwisko, w.Imie, count( * ) as liczba

from wypozyczenie wyp, Wypozyczajacy w, PozycjaBiblioteczna Pb, Tytul t, Wydawnictwo Wdw

where w.idwypozyczajacego=wyp.idwypozyczajacego

and wyp.idtytulu=pb.idtytulu

and pb.idtytulu=t.idtytulu

and t.idwydawnictwa=wdw.idwydawnictwa

and wdw.NazwaWydawnictwa='Helion'

group by W.Nazwisko, w.Imie

having liczba <= 3

) a, TYTul t

WHERE datediff(year, t.datawydania, today())=5

group by a.Nazwisko, a.Imie

having LiczbaWypozyczen > 6

order by LiCZbaWypozyczen Desc

zad4

Pokaż średnia liczbe wypożyczeń na wypożyczającego z podzialem na lata 2006 oraz 2007

SELECT w.nazwisko,

(( count(*)*10/(select count(wypozyczenie.idtytulu) from wypozyczenie

where datediff (year, wypozyczenie.Datawypozyczenia, today())=5))*0.1)

as srednia, year(wyp.datawypozyczenia) as rok

from wypozyczajacy w, wypozyczenie wyp

where w.idwypozyczajacego=wyp.idwypozyczajacego

and datediff (year, wyp.Datawypozyczenia, today())=5

group by w.nazwisko, year(wyp.datawypozyczenia)

union

SELECT w.nazwisko,

(( count(*)*10/(select count(wypozyczenie.idtytulu) from wypozyczenie where datediff (year, wypozyczenie.Datawypozyczenia, today())=4))*0.1)

as srednia, year(wyp.datawypozyczenia) as rok

from wypozyczajacy w, wypozyczenie wyp

where w.idwypozyczajacego=wyp.idwypozyczajacego

and datediff (year, wyp.Datawypozyczenia, today())=4

group by w.nazwisko, year(wyp.datawypozyczenia)

zad5

Pokaz nazwiska, imiona wypożyczających oraz liczbe nie zwróconych przez nich pozycji przetrzymywanych powyżej 6m-cy ( malejąco )

SELECT w.nazwisko, w.imie, count(wyp.idtytulu) as liczba

from wypozyczajacy w, wypozyczenie wyp

where w.idwypozyczajacego=wyp.idwypozyczajacego

and datediff ( month, wyp.datawypozyczenia, today())>6

and datediff ( year, wyp.datawypozyczenia, today())>=1

and wyp.datazwrotu is NULL

group by w.nazwisko, w.imie

order by liczba Desc

zad6

Pokaz autorow (imie i nazwisko) z liczba tytułów których sa autorami oraz liczba czasopism gdzie były publikowane ich artykuly

SELECT A.imie, a.nazwisko, count (distinct cz.idczasopisma) as liczbaCZasopism, count (R.idtytulu) as liczbaKsiazek

from Autor a, artykul ar, czasopismo cz, Relationship_5 R

where a.idautora=ar.idautora

and ar.idczasopisma=cz.idczasopisma

and a.idautora=r.idautora

group by A.imie, a.nazwisko



Wyszukiwarka

Podobne podstrony:
7920
7920
7920
7920
7920
sciaga 7920
7920
7920
7920
praca-magisterska-wa-c-7920, Dokumenty(2)
7920

więcej podobnych podstron