GRY-Online.pl --> Archiwum Forum

trudne!!! zapytanie w mySQL - pomocy!!

16.01.2003
12:04
[1]

maczu [ Konsul ]

trudne!!! zapytanie w mySQL - pomocy!!

tabele:

KLASY
+---+-----------+-----------+
| id |. . . rok . .| semestr .|
+--+------------+-----------+


OCENY
+--+----------+----+------------+-------+
| id | semestr |rok | przedmiot | ocena|
+--+----------+----+------------+-------+


pytnie:
1 - srednie oceny klas
2 - srednie oceny klas w rozbiciu na lata.

16.01.2003
12:10
[2]

Eliash [ Generaďż˝ ]

jakie jest powiązanie między tymi tabelami ?
tzn. skąd wiesz która ocena została uzyskana w danej klasie ?

16.01.2003
12:15
[3]

maczu [ Konsul ]

sorka, poprawka,zapomnialem jednej krotki :))
jeszcze raz:


KLASY
+---+-----------+-----------+------+
| id |. . . rok . .| semestr .| klasa |
+--+------------+-----------+------+



OCENY
+--+----------+----+------------+-------+
| id | semestr |rok | przedmiot | ocena|
+--+----------+----+------------+-------+


pytnie:
1 - srednie oceny klas
2 - srednie oceny klas w rozbiciu na lata.

16.01.2003
12:17
[4]

Eliash [ Generaďż˝ ]

maczu --> Chyba w tabeli ocena powinna być klasa ? :) (albo id_klasa)

Przyzwyczajaj się nadawac takie nazwy polom id ktore beda mowily jakiej tabeli jest
to id

16.01.2003
12:22
[5]

maczu [ Konsul ]

tabele musza byc w postaci Boyce'a - Codd'a.
id jest ucznia.
tak ma byc.
jakby bylo tak jak mowisz to by nie bylo trudne, nie mam zrobiic tabeli ktora zawiera srednia wszystkich klas tylko zapytanie. rozumiesz o co mi chodzi? ;)
pozdr.

16.01.2003
12:22
[6]

Eliash [ Generaďż˝ ]


zobacz coś takiego, nie wiem czy pod MySQl bedzie dzialac poprawnie
(jestem przyzwyczajony do MSSQl-a)


Jesli w "oceny" bedzie dodatkowe pole id_klasa:

z rozbiciem na lata:

select kl.klasa, avg(oc.ocena), oc.rok
from oceny oc left join klasy kl on kl.id = oc.id_klasa
group by kl.klasa, oc.rok


bez rozbicia
select kl.klasa, avg(oc.ocena)
from oceny oc left join klasy kl on kl.id = oc.id_klasa
group by kl.klasa

16.01.2003
12:22
[7]

maczu [ Konsul ]

na przyklad:
select klasy, avg(oceny.oceny) as sredniaklasy where oceny.ocena from klasa =

16.01.2003
12:23
smile
[8]

Eliash [ Generaďż˝ ]

aaa pospieszyłem sie, muszę kwilke pomysleć ... :)

16.01.2003
12:25
[9]

maczu [ Konsul ]

klasa jest np. 1a, w danym roku jest tylko jedna klasa, wiec chyba nie trzeba (raczej na bank) dawac dodatkowo id_klasy.

a to moje zapytanie pewnie jest zle, wiec sie nie sugeruj :)

16.01.2003
12:29
smile
[10]

Eliash [ Generaďż˝ ]


select kl.klasa, avg(oc.ocena)
from oceny oc, klasy kl
where oc.id = kl.id <--- Laczenie po uczniu id powinny byc takie same
group by kl.klasa


select kl.klasa, oc.rok, avg(oc.ocena)
from oceny oc, klasy kl
where oc.id = kl.id
group by kl.klasa, oc.rok

I jak teraz ?

16.01.2003
12:33
[11]

maczu [ Konsul ]

dzieki, wydaje sie na dobre :) wieczorem ci odpowiem czy bylo dobrze :)) dzieki i pozdrawiam
jakby ktos mial inne propozycje to prosze pisac :))

16.01.2003
12:44
smile
[12]

norbi071 [ Legionista ]

hehehe dzieki Ci kles za odpwiedz bo to tez dla mnie ;>>>>> razem z Siwym "studiujemy " hahahahha
;-))))))) pozdrawiam

© 2000-2025 GRY-OnLine S.A.