Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PostgreSQL][SQL] pobranie danych do statystyk, suma przychodu w poszczególnych dniach
rasten
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 6
Dołączył: 31.05.2010

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


Witam, mam problem z ułożeniem zapytania, które ma pobierać sumę przychodów w poszczególnych dniach.
Mam takie dwie tabele (wersja okrojona):
- wizyta gdzie mam kolumnę date typu timestamp i kolumne idusluga czyli klucz obcy
- usluga z kolumną cena typu integer

Narazie mam takie zapytanie
  1. SELECT DISTINCT ON (date) to_char(wizyta.date, 'YYYY-MM-DD') AS date, sum(usluga.cena) AS cena
  2. FROM wizyta
  3. LEFT JOIN usluga
  4. ON wizyta.idusluga = wizyta.idusluga
  5. WHERE
  6. wizyta.date IS NOT NULL
  7. GROUP BY date

ale niestety to nie działa. Jak takie zapytanie powinno wyglądać?

EDIT://
dobra nieważne, sam sobie poradziłem. Zamieniłem as date na as data i to samo w group by.

Ten post edytował rasten 3.03.2011, 13:16:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Valdi_B
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 30
Dołączył: 19.02.2011
Skąd: Warszawa

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


W Twojej kwerendzie widzę 2 "usterki":

1. SELECT DISTINCT ON ...
To "ON" jest niepotrzebne. ON używa się w JOIN.

2. ON wizyta.idusluga = wizyta.idusluga
Masz 2 razy "wizyta". Zmień jedno wystąpienie na "usluga".

Jeszcze 2 uwagi:
1. Spróbuj może "obejdzie się" bez rzutowania na typ (date).
2. "date" jest typem pola. Unikaj używania słów kluczowych jako nazw tablic / kolumn.
Raczej stosuj nazwę "coś mówiącą" co to za data.
Może np. dat_wyk (data wykonania usługi).

Gdybyś w bazie danych (w różnych tabelach) miał daty różnych rzeczy i nazywał wszystkie "date", to dopiero byś się musiał zastanawiać co jest co (zwłaszcza gdy takie różne daty byś miał w jednej kwerendzie.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 14:36