Sumowanie wielu kolumn

Odpowiedz Nowy wątek
2019-11-03 00:06
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-%'

Pozostało 580 znaków

2019-11-03 12:50
1

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

Pozostało 580 znaków

2019-11-03 16:42
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


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2019-11-03 20:37
0

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

Gdyby przynajmniej Id było ... - _13th_Dragon 2019-11-03 21:10
unikalna wartością jest nazwa, jest to też klucz podstawowy - oblako1223 2019-11-03 21:11

Pozostało 580 znaków

2019-11-03 20:57
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

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 2x, ostatnio: _13th_Dragon, 2019-11-03 21:16
już poprawiłem na domyślną wartość '0' i nie ma zadnych nulli, więc ponawiam pytanie da się zsumować wszystko? - oblako1223 2019-11-03 21:10
Ponawiam odpowiedź, tak: SUM(k.sala+k.sala1...) - _13th_Dragon 2019-11-03 21:12
W sumie tak, ale to droga przez mękę, trzeba użyć refleksji struktury, czyli tabele systemowe, czyli będzie wolniej. A i dla każdego SQL inaczej. - _13th_Dragon 2019-11-03 21:18
wszystko jasne i wyjaśnione, dzięki wielkie - oblako1223 2019-11-03 21:20

Pozostało 580 znaków

2019-11-04 21:50
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!


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
edytowany 1x, ostatnio: abrakadaber, 2019-11-04 21:50
Pokaż pozostałe 2 komentarze
Każdy z N użytkowników przeklnie całą rodzinę programisty wraz z nim oczywiście ... - _13th_Dragon 2019-11-11 23:35
jestem samoukiem i robie ten projekt sam. Nawet nie wiem gdzie robie te błedy, abym mógł coś poprawić. Jeżeli polecasz jakąś dobra lekturę albo kursy odezwij sie na priv będę wdzięczny :) - oblako1223 2019-11-11 23:37
Tu podstawy się kłaniają, więc dowolny kurs podstaw baz danych z googla. - _13th_Dragon 2019-11-11 23:40
co nie zmienia faktu, że może polecasz jakaś dobrą lekturę w tej dziedzinie - oblako1223 2019-11-11 23:41
Jak na razie w twoim przypadku każda (o ile dotyczy podstaw) będzie odpowiednia. Natomiast jak ogarniesz podstawy - to i tak każdy poleci ci coś innego. - _13th_Dragon 2019-11-11 23:43

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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