![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 13.05.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam, kombinuje na rozne sposoby i za cholere nie chce pokazać proawidlowej wartosci.
Mam 2 tabele. ZAMOWIENIA i ZAMNR [ZAMOWIENIA] id_zamow data reszte rzeczy pomijam [ZAMNR] idprod idzam //tutaj klucz obcy do id_zamow nazwa ile Chce aby w zależnosci od wybranego zakresu dat w tabeli ZAMOWIENIA wybral mi 1 produkt z tabeli ZAMNR ktory byl najczęściej kupowany i najwięcej sprzedawany gdyby nie było to zależne od wartosci 'ile' to bym sobie poradzil, ale tak to chyba w jednym zapytaniu nie da sie tego zrobic. Przykładowo, mam 3 zamowienia: zamowienia_1: koperta biala, ile=5 teczka_czerwona, ile=2 zeszyt, ile=1 zamowienie_2: zeszyt, ile=1 koperta_biala, ile=1; zamowienie_3: zeszyt, ile=2 gumka, ile=1 Jaka widać zeszyt był najczęściej kupowany, a koperta_biala była byla najwięcej sprzedawana. Ktos ma jakis pomysl jak to ugryźć? Ten post edytował termin 10.01.2007, 21:03:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 13.05.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
AD 1)
nazwę produktu trzymam tylko po to bo bedzie to potrzebne do historii zamowien, ponieważ w tabeli gdzie znajduja się wszystkie towary jest tendencja że po jakimś czasie produkty zostana usunięte i zastąpione innymi, np zeszyt po pol roku, bedzie zastąpionym nowym produktem np. zeszyt 60kartek itd. chyba ze chodziło Ci o cos innego? AD 2) To fakt bede musiał nad tym popracować i wszystko ujednolicić, ja tez przewijam ekran (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) AD 3) Wszystko działa lecz małe zmiany trzeba bylo wprowadzić: SELECT nazwa, COUNT(*) AS suma FROM ZAMNR JOIN zamowienia z ON z.id_zamow = ZAMNR.idzam WHERE z.data BETWEEN '2006-01-01' AND '2006-12-31' GROUP BY idzam ORDER BY suma DESC LIMIT 1 Przedmioty, ktorych najwiecej sprzedano (w sztukach) SELECT nazwa, SUM(ile) suma FROM ZAMNR JOIN zamowienia z ON z.id_zamow = ZAMNR.idzam WHERE z.data BETWEEN '2006-01-01' AND '2006-12-31' GROUP BY nazwa ORDER BY suma DESC LIMIT 1 Bardzo Ci dziękuję, poszerzyłeś moją wiedzę na temat SQL-a (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 03:49 |