PL/SQL - trudne początki |
PL/SQL - trudne początki |
16.11.2012, 18:06:08
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 2 Dołączył: 14.12.2011 Ostrzeżenie: (0%) |
Witam,
Miałbym prośbę o nakierowanie (ale nie gotowe rozwiązanie, bo tak się nie da nauczyć ) jak rowzwiązać następujące problemy w PL/SQL. Problem pierwszy: mamy pewną tabelę, dajmy na to "piłka" o następujących kolumnach:
I zasada wygląda następująco, że numer pilki jest przydzielany przy wkładaniu jej do pojemnika. Tu sobie poradziłem triggerem i sekwencją. Natomiast problem mam z drugim wymaganiem. Mamy n pojemników i wkładamy piłki do kolejnych pojemników. Przy czym każdy pojemnik może pomieścić 1 piłkę dużą i 2 małe. Gdy w danym pudełku (np. n) dajmy na to jest juz duża piłka to jest ona wkładana automatycznie do następnego pojemnika (n+1). Zastanawiam się, czy to jakąś pętlą rozwiązać? Nie rozumiem działania pętli w PL/SQL... Problem drugi: mamy tabelę z samo złączeniem np.
I teraz potrzebuję policzyć sumę zarobków danej osoby wraz z jej dziećmi i wnukami. Udało mi się rozwiązać to dla osoby + jej dzieci. Natomiast nie wiem jak pobrac informacje o wnukach? Czy trzeba użyć tablic? Tabeli tymczasowej? Będę bardzo wdzięczny za okazaną pomoc. Ten post edytował PHP_Addicted 16.11.2012, 18:06:38 |
|
|
19.11.2012, 13:53:04
Post
#2
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 6 Dołączył: 14.01.2003 Skąd: Warszawa Ostrzeżenie: (10%) |
Hej,
Problem 1. Skoro dla zadanego pojemnika znamy ograniczenia Jedna piłka duza + Dwie małe to możesz je przeciez policzyć Select count() dla duzej piłki z danego pojemnika + select count() dla malych pilek z tego samego pojemnika. Oczywiście można to zrobić bardziej lub mniej ładnie, skupmy sie jednak na problemie a nie na optymalizacji. I teraz nie zostaje nam nic innego niz wkladanie piłek do pojemnika. Skoro wiemy ile jest duzych piłek w pojemniku i wiemy ile jest malych parę IF'ów wystarczy do sterowania gdzie wkladamy nowa pilke (dużą lub mała). Problem 2 Można użyć rekurencji, pętli, tablic tymczasowych rozwiązań jest mnóstwo.
-------------------- "zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi" |
|
|
6.12.2012, 20:06:47
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) |
Problem 1 - ale bardzo rozumiem ale moze uzyj skladni MERGE
Problem 2 - uzyj connect by prior |
|
|
Wersja Lo-Fi | Aktualny czas: 24.09.2024 - 13:01 |