Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Sumowanie z NULLami
Forum PHP.pl > Forum > Przedszkole
Grzyw
Cześć Wszystkim.
Załóżmy, że mam w tabeli m.in. kolumny stawka1 | godz1 | stawka2 | godz2.

Chciałbym uzyskać sumaryczny dochód w każdym rekordzie, ale polecenie:
  1. SELECT SUM (stawka1 * godz1) + SUM(stawka2 * godz2)(

zwraca NULL dla rekordu z wartościami:

| 10 | 25 | NULL | NULL

Czyli dla pracownika, który pracował tylko przy pierwszej stawce, suma dochodu wychodzi NULL.

Czy jest sposób na obejście tego problemu?
blooregard
Tak, nawet dwa mi się nasuwają:

- nie stosuj NULL w bazie, tylko INT (z domyślną wartością np. 0 dla pustych pól), wtdy nie będziesz miał sumowania wartości liczbowej i NULL'a (co daje NULL'a w ostateczności, jak teraz)
- zastosuj IF w kwerendzie (IF stawka2 czy tam godz2 IS NOT NULL to dodaj, a jak nie to dodaj 0) - coś w ten deseń
Hazel
W bazie stosuj NOT NULL i tym liczbowy.

edit: nie zauważyłem odpowiedzi sad.gif
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.