Sumowanie wielu kolumn

Sumowanie wielu kolumn
oblako1223
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

Siemanko, chciałbym zsumować wszystkie kolumny tego zapytania:

Kopiuj
SELECT* FROM koszt k WHERE nazwa LIKE '%-10-%'

Wynik:
title

Próbowałem w ten sposób, ale nie działa:

Kopiuj
SELECT SUM(k.sala+k.sala1...) FROM koszt k WHERE nazwa LIKE '%-10-%'
Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
1

Działa. I to zgodnie z bazami danych i logiką trójstanową (1+NULL=NULL)

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Dla baz danych traktuj NULL jako wartość nieznaną - dalej zgodnie z logiką.
Np:
1 + Nieznana = Nieznana
0 & Nieznana = 0
1 & Nieznana = Nieznana
0 | Nieznana = Nieznana
1 | Nieznana = 1

oblako1223
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

A da sie zrobić, żeby po prostu sumował wszystko z automatu? Czy muszę podać każdą kolumnę pokolei

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Dałoby by się, gdyby baza była tworzoną w zgodzie ze sztuką.

Jest id, jest odpowiedź:

Kopiuj
Sum((
select sala from koszt k0 where k0.nazwa=k.nazwa
union select sala1 from koszt k1 where k1.nazwa=k.nazwa
union select sala2 from koszt k2 where k2.nazwa=k.nazwa
))```

tylko że ... :D
abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1
Maksymilian Rękawek napisał(a):
Kopiuj
SELECT SUM(k.sala+k.sala1...) FROM koszt k WHERE nazwa LIKE '%-10-%'

przy większej ilości rekordów zabijesz tym bazę - to nie używa ŻADNYCH indeksów!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.