Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Suma podwójnie warunkowa
ktuvok
post 11.08.2004, 16:29:54
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Mam zapytanie, w którym jednym z pól jest suma:
  1. SELECT
  2. (SUM(IF(Rodzaj != 'u',Cena * Ilosc * Kurs*(1-0.0486),0)) - KwotaX)*IF(TO_DAYS(Data1) - TO_DAYS(Data2)>14,1-(0.1*(TO_DAYS(Data1) - TO_DAYS(Data2))/365),1) AS CosTam
  3. ...

i teraz chciałbym, aby zapytanie zwracało zero, jeśli powyższe wyrażenie jest ujemne.

Czy trzeba to zrobić kolejnym IF'em? Np:
  1. SELECT
  2. IF(SUM(IF(Rodzaj != 'u',Cena * Ilosc * Kurs*(1-0.0486),0)) - KwotaX)*IF(TO_DAYS(Data1) - TO_DAYS(Data2)>14,1-(0.1*(TO_DAYS(Data1) - TO_DAYS(Data2))/365),1)<=0,0,(SUM(IF(Rodzaj != 'u',Cena * Ilosc * Kurs*(1-0.0486),0)) - KwotaX)*IF(TO_DAYS(Data1) - TO_DAYS(Data2)>14,1-(0.1*(TO_DAYS(Data1) - TO_DAYS(Data2))/365),1) AS CosTam

czy można jakoś prościej i mniej dotkliwie dla serwera SQL?

Obawiam się, że przy dodaniu nowego IF'a wyrażenie to będzie musiało być obliczone dwukrotnie, stąd pytanie.

MySQL 4.0.16.

Pozdrawiam,
Krzysiek
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 14:39