Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie wg ilości dni pomiędzy fakturami
Forum PHP.pl > Forum > Bazy danych > MySQL
lords
Witam
Mam bardzo poważny problem z którym nie umiem sobie poradzić,sprawa jest nastepująca:

1. Jest tabela z danymi klientów, z polami (w uproszczeniu): id_klienta, nazwa
i tabela z fakturami do klientów: id_faktury, data_wystawienia, kwota

2. Musze stworzyć zapytanie, które wyświetli wszystkich klientów, ale posortowanych wg. danych z tabeli faktury wg. wzoru:


Cytat
(liczba dni między pierwszą a ostatnią fakturą)*
-------------------------------------------------------
ilość faktur - 1

* pod uwagę brane faktury z ostatnich 180dni



bardzo proszę o pomoc, nie mam pomysłu jak to rozwiązać,
bardzo zależy mi na czasie, dlatego jestem skłonny zapłacić
pozdrawiam
Seba
Olimpia_ona
1. w tabeli faktury powinno być pole id_klienta, by było wiadomo do jakiego klienta dotyczy dana faktura
2. Ja bym to zrobiła trzema zapytaniami
- w pętli wyświetlającej wszystkich klientów po tablei klienci dałabym 2 zapytania do tablei faktury gdzie faktury.id_klienta = $wiersz[id] (czyli id klienta) i w pierwszy zapytaniu posortowałabym wg daty ASC a w drugim wg daty DESC i dzięki temu miałabym najstarszą i najnowszą datę faktury klienta.
A liczbę dni między tymi datami można uzyskać poprzez np.
  1. mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
  2. -> 1
  3. mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
  4. -> -31
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.