Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Sumowanie z NULLami
Grzyw
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 75
Dołączył: 19.08.2004
Skąd: Wrocław

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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ń
Go to the top of the page
+Quote Post
Hazel
post
Post #3





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


W bazie stosuj NOT NULL i tym liczbowy.

edit: nie zauważyłem odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Hazel 31.12.2008, 13:05:10
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: 23.12.2025 - 16:36