Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SQL, lista obecności uczniów w %
aylus
post 26.01.2016, 17:36:19
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.01.2016

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
redeemer
post 26.01.2016, 18:07:58
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


  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.


--------------------
Go to the top of the page
+Quote Post
aylus
post 26.01.2016, 18:26:06
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.01.2016

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pyton_000
post 26.01.2016, 18:27:28
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Na lekcjach się w CS'a grało?
Go to the top of the page
+Quote Post
aylus
post 26.01.2016, 21:59:33
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.01.2016

Ostrzeżenie: (0%)
-----


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 %.
Go to the top of the page
+Quote Post
redeemer
post 26.01.2016, 22:30:20
Post #6





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
koodo218
post 27.01.2016, 09:09:02
Post #7





Grupa: Zarejestrowani
Postów: 114
Pomógł: 25
Dołączył: 22.11.2015

Ostrzeżenie: (0%)
-----


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


--------------------
Słaba znajomość (ale się staram): HTML5, CSS3, JavaScript, SQL, Access
Go to the top of the page
+Quote Post
aylus
post 2.02.2016, 01:31:44
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.01.2016

Ostrzeżenie: (0%)
-----


Dzięki, tak działa ale to jest język SQL. Ja chciałam w SQL Light.. Ale jest ok.
Go to the top of the page
+Quote Post
redeemer
post 2.02.2016, 15:35:03
Post #9





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Bo nie ma czegoś takiego jak język SQL Light?

Ten post edytował redeemer 2.02.2016, 15:37:12


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 2.02.2016, 15:55:29
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


SqlLite smile.gif
Go to the top of the page
+Quote Post
redeemer
post 2.02.2016, 15:56:02
Post #11





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 2.02.2016, 15:55:29 ) *
SqlLite smile.gif
To nie język :-)


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 2.02.2016, 16:18:42
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ja wie, Ty wiesz a Autor dostał co chciał wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 08:11