Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak powinno wygladac zapytanie ?
paweln
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 18.06.2003
Skąd: Mazowieckie

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


Jest sobie tabela "rejestracje" a w niej:
Id_studenta,
Nr_sesji,
Symbol, - jest to symbol przedmiotu np: MA, IT, GE
Wpłata - czyli ile dany student wpłacił

Chodzi o to że muszę zliczyć wpływy szkoły
wystarczyło by:
  1. SELECT sum(wpłata) FROM rejestracje;

ale ja muszę zrobić tak aby było to policzone osobno dla kazdego przedmiotu.
czyli
MA Matematyka - 210
IT Informatyka - 320
itp.

nazwa ma byc wzieta z tabeli przedmioty.
Proszę o pomoc.
Go to the top of the page
+Quote Post
modzel
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 21.10.2004

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


ja bym to zrobił tak (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

  1. SELECT sum(wpłata) FROM rejestracje GROUP BY Symbol
Go to the top of the page
+Quote Post
paweln
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 18.06.2003
Skąd: Mazowieckie

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


Dzięki
He po wysłaniu postu sam do tego doszedlem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale pojawił się kolejny problemos.
Otóż muszę porównać opłate przedmiotu np (50) z tabeli przedmioty z wpłatą z tabeli rejestracje i sprawdzić czy student wpłacił te 50 czy mniej.
Potem obliczyc ile powiniem wynisic wpływ a ile dług. Troche to zakrecone ale moze mi ktos troszkę pomoże.

Kombinuje że powinno to wygladać tak:
zliczyć grupowo ile studentów na jak przedmiot się zarejestrował i pomnożyć to
przez stawkę za dany przedmiot potem trzebaby było od tego odjąc zliczone
wpłacone dane za każdy przedmiot. Moze zle kombinuje i jest prostsze
rozwiazanie takiego problemu.
  1. SELECT symbol,count(symbol) FROM rejestracje GROUP BY symbol;

zliczy ile osob jest na danym przedmiocie.

  1. SELECT symbol,opłata FROM przedmioty;

pokaze stawke za kazdy przedmiot tylko
jak to połączyc (pomnozyc przez siebie)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) zeby zliczyc ile powinien wynosic
dochod??

Ten post edytował paweln 21.10.2004, 14:14:41
Go to the top of the page
+Quote Post
modzel
post
Post #4





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 21.10.2004

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


moze cos takiego?? (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)
  1. SELECT
  2. case when r.wplata >= p.opłate then
  3. r.wplata - p.opłate
  4. else
  5. 0
  6. end NADPLATA,
  7.  
  8. case when p.opłate > r.wplata then
  9. p.opłate -r.wplata
  10. else
  11. 0
  12. end DLUG,
  13. FROM(przedmioty p JOIN rejestracje r ON p.Symbol ON r.symbol)
  14. WHERE r.Id_studenta = ID_STUD
Go to the top of the page
+Quote Post
paweln
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 18.06.2003
Skąd: Mazowieckie

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


Hmm, jakos nie moge tego uruchomic. Korzystam z SQL*PLUS i otrzymuje błąd:
ORA-00923: nie znaleziono słowa kluczowego FROM w oczekiwanym miejscu. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Nie ma jakiegoś prostszego sposobu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
modzel
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 21.10.2004

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


po DLUG jest niepotrzebny przecinek
Kod
select
case when r.wplata >= p.opłate then
r.wplata - p.opłate
else
0
end NADPLATA,

case when p.opłate > r.wplata then
p.opłate -r.wplata
else
0
end DLUG
from(przedmioty p join rejestracje r on p.Symbol on r.symbol)
where r.Id_studenta = ID_STUD
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:52