Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podsumowanie rekordów z przedziałów
Marq
post 14.09.2009, 11:08:52
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 5
Dołączył: 14.10.2008
Skąd: Tarnów

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


Witam!




Próbuję wymyślić możliwie najprostsze zapytanie, które zrealizuje taką funkcję na takich danych:




Chcę podsumować wszystkie koszty wysyłki gdzie data wysłania miesci się od dnia xx-xx-xxxx do dnia yy-yy-yyyy  na produkty z tabeli zamówienia.

Struktura bazy danych wygląda następująco:

Tabela zamówienia (pogląd):

id | data wysłania | waga wysłania do x kg




Tabela schematy cen

id | data obowiązywania od | data obowiązywania do 




tabela ceny

id schematu cen | waga wysłania do x kg | cena




Schematy cenowe są modyfikowane w zależności od cen np Poczty Polskiej, powiedzmy od dnia x do y są takie ceny, a od dnia y+1 do z są inne ceny. Chcę wybrać zsumowane koszty, ale musi się to odbyć w taki sposób, że cena wysłania danego zamówienia jest wyznaczana na podstawie tego, w jakim przedziale schematów cenowych znajduje się data wysłania. Mi się nasuwają dwa podjeścia do tego problemu, jeden: wybrać wszystkie zamówienia, ich daty wysłania i dla każdego zamówienia wybrać schemat cenowy i policzyć cenę, lub wybrać schematy, które zawierają się w okresie xx-xx-xxxx - yy-yy-yyyy, wybrać wszystkie zamówienia w tych schematach i dla nich liczyć sumę. Jest jakieś prostsze podejście do tego problemu?




Pozdrawiam




Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post 14.09.2009, 17:22:22
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zostaje chyba podzapytanie. Jaką masz strukturę w bazie? (typy pól)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Marq
post 14.09.2009, 22:15:11
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 5
Dołączył: 14.10.2008
Skąd: Tarnów

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


id(int auto_increment) | data wysłania (date) | waga wysłania do x kg (int)

id(int auto_increment) | data obowiązywania od (date) | data obowiązywania do (date)

id schematu cen (int auto_increment) | waga wysłania do x kg(int) | cena(int)


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: 14.08.2025 - 05:36