Siemanko, chciałbym zsumować wszystkie kolumny tego zapytania:
SELECT* FROM koszt k WHERE nazwa LIKE '%-10-%'
Wynik:
Próbowałem w ten sposób, ale nie działa:
SELECT SUM(k.sala+k.sala1...) FROM koszt k WHERE nazwa LIKE '%-10-%'
Siemanko, chciałbym zsumować wszystkie kolumny tego zapytania:
SELECT* FROM koszt k WHERE nazwa LIKE '%-10-%'
Wynik:
Próbowałem w ten sposób, ale nie działa:
SELECT SUM(k.sala+k.sala1...) FROM koszt k WHERE nazwa LIKE '%-10-%'
Działa. I to zgodnie z bazami danych i logiką trójstanową (1+NULL=NULL)
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
A da sie zrobić, żeby po prostu sumował wszystko z automatu? Czy muszę podać każdą kolumnę pokolei
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
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!