Sumowanie wielu kolumn

0

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

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

Wynik:
title

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

SELECT SUM(k.sala+k.sala1...) FROM koszt k WHERE nazwa LIKE '%-10-%'
1

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

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

0

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

0

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

Jest id, jest odpowiedź:


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
1
Maksymilian Rękawek napisał(a):
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!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0