Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SQL, lista obecności uczniów w %
Forum PHP.pl > Forum > Bazy danych > MySQL
aylus
Muszę przygotować w języku SQL (SQLlight Administrator) widok, który dla dwóch tabel: uczniowie, obecności zwróci imię i nazwisko ucznia oraz frekwencję na zajęciach wyrażoną w %.

Tabela uczniowie:
ID, IMIE_NAZWISKO

Tabela obecności:
ID, ID_UCZNIA, NR_LEKCJI, CZY_OBECNY(1-TAK,0-NIE)


Proszę o jakieś wskazówki jak to zrobić bo jestem dopiero początkująca. Udało mi się wykonać jedynie 2 powyższe tabele.
redeemer
  1. SELECT
  2. COUNT(*) AS count,
  3. o1.id_ucznia,
  4. oo2.count,
  5. ((oo2.count/COUNT(*))*100) AS frekwencja
  6.  
  7. FROM obecnosci AS o1
  8.  
  9. LEFT JOIN
  10. (
  11. SELECT
  12. COUNT(*) AS count,
  13. o2.id_ucznia
  14. FROM obecnosci o2
  15. WHERE o2.czy_obecny=1
  16. GROUP BY o2.id_ucznia
  17. ) AS oo2
  18. ON o1.id_ucznia = oo2.id_ucznia
  19.  
  20. GROUP BY o1.id_ucznia
Tak na szybko, pewnie da się lepiej. Do tego trzeba jeszcze dojoinować tabele uczniowie i wyciagnąć kolumnę imie_nazwisko. No i oczywiście zrobić to jako widok.
aylus
Ok, dzięki. Jakbyś mógł to napisz mi bardziej szczegółowo o co z tym chodzi bo nawet nie wiem jak zrobić to joinowanie i wyciągnąć to jako widok.
Pyton_000
Na lekcjach się w CS'a grało?
aylus
Nie gram w CS'a bo to dla chłopców wink.gif

niestety nie działa to bo liczy każdą lekcję na której uczeń był. I nie podaje %.
redeemer
Cytat(aylus @ 26.01.2016, 21:59:33 ) *
niestety nie działa to bo liczy każdą lekcję na której uczeń był. I nie podaje %.
Chyba nie: http://sqlfiddle.com/#!9/d05b42/1
koodo218
Cytat(aylus @ 26.01.2016, 18:26:06 ) *
i wyciągnąć to jako widok.

Widok to nic innego jak
  1. CREATE VIEW nazwaWidoku AS twojeZapytanie
aylus
Dzięki, tak działa ale to jest język SQL. Ja chciałam w SQL Light.. Ale jest ok.
redeemer
Bo nie ma czegoś takiego jak język SQL Light?
Pyton_000
SqlLite smile.gif
redeemer
Cytat(Pyton_000 @ 2.02.2016, 15:55:29 ) *
SqlLite smile.gif
To nie język :-)
Pyton_000
Ja wie, Ty wiesz a Autor dostał co chciał wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.