Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak ugryź taki problem
Forum PHP.pl > Forum > Bazy danych > MySQL
yarns
Witam,

nie bardzo wiem jak się zabrać do napisania odpowiedniego zapytania. Mam 2 tabele. Pierwsza tabela zawiera następujące informacje:
- MSISDN - numer telefonu
- UserId - Id użytkownika
- DataS - data od kiedy dany użytkownik korzystał z telefonu
- DataE - data do kiedy użytkownik korzystał z telefonu
Tabela druga:
- MSISDN - numer telefonu
- DataType - pole określające typ rekordu
- Amount - cena
- EventS - data początku zdarzenia
- EventE - data końca zdarzenia

Musze zbudować zapytanie które będzie liczyło koszty dla każdego użytkownika, czyli jeśli w drugiej tabeli mam rekord:
- MSISDN: 601601601
- DataType: 1 - w tym wypadku określa że jest to abonament
- Amount: 99 - cena netto
- EventS: 2011-06-01
- EventE: 2011-06-30
a w pierwszej mam dwa rekordy gdzie dwóch użytkowników korzystało z powyższego telefonu - pierwszy od 2011-06-01 do 2011-06-12 a drugi od 2011-06-12 do 2011-06-30, muszę rozbić kwotę abonamentu proporcjonalnie do czasu użytkowania czyli dla pierwszego użytkownika: 99/30*12 a dla drugiego: 99/30*18. Macie jakiś pomysł jak zrobić to wszystko kwerendą lub procedura?

Będę wdzięczny za wszelkie sugestie.

Pozdrawiam
YaQzi
Zapytanie pewnie od razu nie zadziała ale może coś pomoże...
  1. SELECT UserId, ( (Amount / DATEDIFF(EventE, EventS) ) * DATEDIFF(DataE, DataS)) AS Abonament
  2. FROM t1
  3. JOIN t2 ON(t1.MSISDN = t2.MSISDN)


DATEDIFF();
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-2025 Invision Power Services, Inc.