![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 19.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Dzisiaj stanąłem przed wyzwaniem, którego nie mogę ni jak pokonać. Do dalszej rozbudowy pewnej aplikacji muszę dodać jedną funkcjonalność. Ogólnie jest tak, że program teraz dobiera ilości produktów żywieniowych wg jakiś tam kryteriów. Tak czy inaczej wypluwa mi idProduktu i ilosc. Baza przedstawia się mniej więcej tak (ująłem tylko istotne właściwości) : produkty: idProduktu | nazwa potrawy: idPotrway | opis skladnikiPotraw: idPotrawy | idProduktu | ilosc Program wypluwa na przykład: produkty - ilości (id - gram) : 1 - 20, 2 - 30, 3 - 40 Jak teraz mógłbym pobrać wszystkie potrawy spełniające wymagania, że wymagają do przygotowania tylko wybranych produktów, wybrana ilość jest wystarczająca do przygotowania potrawy. Mało tego, potrzebuję jeszcze wybrać takich potraw 21 (3 dziennie x 7 dni). Z góry dziękuję za jakiekolwiek sugestie, bo stoję w martwym punkcie, a czas goni. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mi się wydaje że jest to bardziej złożony problem.
Z tego co zrozumiałem, to kolega chce podawać do zapytania produkty ( id produktów ) i w wyniku mają być zwrócone wszystkie potrawy, które zawierają tylko i wyłącznie podane produkty. Zakładając takie dane wejściowe:
i taki warunek na wymagane produkty ( Jako że bawię się w konsoli, to zrobiłem sobie tabelę z id wymaganych produktów. Docelowo id mogą być przekazywane jako tablica w parametrze funkcji):
to wynikiem powinna być tylko i wyłącznie potrawa ID 6 Wykombinowałem sobie takie zapytanie:
Czy o takie coś koledze chodziło ![]() Jeżeli tak, to losowanie potraw 3 x 21 nie powinno już być problemem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 19.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie jest genialne, robi robotę, ale jest jedno ale:) w tej tabeli produkty wymagane musi być drugie pole ilosc i ono też musi być brane pod uwagę. Dodatkowo zastanawiałem się nad wzięcie pod uwagę jakiejś odchyłki że jak potrawa wymaga 100g czegoś, a u mnie bedzie 98g no to tak czy inaczej możemy zrobić taką potrawę.
Dałbyś radę dołożyć jeszcze warunek ograniczający na ilość produktu w g ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dane wejściowe:
Zakres danych:
Wynik:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 19.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nieważne... Przydżumiła mnie coś ta dzisiejsza pogoda. Działa jak należy
![]() Ten post edytował _chris_ 22.06.2012, 10:55:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:01 |