![]() |
![]() |
![]()
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
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 14:36 |