Problem z zadaniami za zajęcia, proszę o pomoc |
Problem z zadaniami za zajęcia, proszę o pomoc |
6.02.2018, 11:35:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 6.02.2018 Ostrzeżenie: (0%) |
Witam, piszę do was bo nie mogę znaleźć nic na internecie i w sumie się już praktycznie poddaje. Mam kilka podobno prostych kwerend do napisania, ale jakoś zupełnie mi to nie idzie. Zadania wyglądają następująco:
https://zapodaj.net/883f1f9615699.jpg.html W linku zdjęcie zadań Ogólnie coś pobówałem z tym zrobić ale z tego co wiem zadania 2,5,7,8 i 10 mogą mieć błędy. Zwłaszcza zadanie 7, ponieważ ten 2gi select w ogóle nie chce zadziałać, a nie wiem czemu, może ma ktoś jakiś pomysł na to jak to ugryźć. moje rozwiązania wyglądają następująco: Zadanie 1 select s.IDSTUDENT,s.NAZWISKO,p.PRZEDMIOT,o.OCENA from A1_STUDENT s join A1_OCENA o on s.IDSTUDENT = o.IDSTUDENT join A1_PRZEDMIOT p on o.IDPRZEDMIOT = p.IDPRZEDMIOT where o.OCENA = 2 Zadanie 2 select p.PRZEDMIOT,count(o.OCENA) as "Ilosc ocen z przedmiotu" from A1_PRZEDMIOT p join A1_OCENA o on o.IDPRZEDMIOT = p.IDPRZEDMIOT group by p.PRZEDMIOT having count(o.OCENA) > 0 Zadanie 3 select SEMESTR,count(PRZEDMIOT) as "liczba_przedmiotow" from A1_PRZEDMIOT GROUP BY SEMESTR ORDER BY SEMESTR Zadanie 4 select p.PRZEDMIOT,avg(o.OCENA) as "srednia" from A1_PRZEDMIOT p join A1_OCENA o on o.IDPRZEDMIOT = p.IDPRZEDMIOT where p.SEMESTR = 1 group by p.PRZEDMIOT Zadanie 5 select count(o.OCENA) as "ilosc_ocen_pozytywnych",s.NAZWISKO from A1_STUDENT s join A1_OCENA o on s.IDSTUDENT = o.IDSTUDENT where (o.DATAWYSTAWIENIA > '15/01/01' AND o.DATAWYSTAWIENIA < '15/12/31') AND o.OCENA > 2 group by s.NAZWISKO having count(o.OCENA) >= 2 Zadanie 6 select Przedmiot, Semestr from A1_Przedmiot where Przedmiot like '%baz%' order by SEMESTR Zadanie 7 select count(o.Ocena),s.NAZWISKO,(select avg(o.Ocena) from A1_Student s join A1_Ocena o on s.IdStudent = o.IdStudent ) as srednia from A1_Student s join A1_Ocena o on s.IdStudent = o.IdStudent group by s.Nazwisko having count(o.OCENA) >=3 Zadanie 8 select count(o.Ocena),s.NAZWISKO from A1_Student s join A1_Ocena o on s.IdStudent = o.IdStudent group by s.Nazwisko having count(o.OCENA) = 0 Zadanie 9 select s.Nazwisko from A1_STUDENT s join A1_OCENA o on s.IDSTUDENT = o.IDSTUDENT join A1_PRZEDMIOT p on p.IDPRZEDMIOT = o.IDPRZEDMIOT where s.akt_semestr<p.semestr o.ocena="o.ocena" and="AND"> 2 group by s.NAZWISKO Zadanie 10 select s.Nazwisko from A1_STUDENT s join A1_OCENA o on s.IDSTUDENT = o.IDSTUDENT join A1_PRZEDMIOT p on p.IDPRZEDMIOT = o.IDPRZEDMIOT join A1_OCENA o2 on o2.IDSTUDENT=s.IDSTUDENT join A1_PRZEDMIOT p2 on p2.IDPRZEDMIOT=o2.IDPRZEDMIOT where (p.Przedmiot ='Matematyka Dyskretna' AND o.OCENA > 2) AND (p2.PRZEDMIOT = 'Algebra liniowa' AND o2.OCENA > 2) group by s.NAZWISKO Z góry dzięki za jakąkolwiek pomoc |
|
|
7.02.2018, 12:57:51
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Na początek ułatw forumowiczom zadanie i wrzuć zapytania w forumowy tag SQL. Najlepiej użyj też jakiegoś narzędzia do formatowania SQL, np. tego.
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.09.2024 - 07:17 |