Filtrowanie rekordów z wartościami null

Filtrowanie rekordów z wartościami null
Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
0

Posiadam pewna baze ( 1 tabela, 8 kolumn - ok. 10 tys. rekordów i rośnie). Niektóre rekordy posiadają wartości 0 (błąd urządzenia pomiarowego).

Dane pobieram do tworzenia wykresu z róznych przedziałów czasowych. Jak najlepiej usunąć te wartości "0" przy pobieraniu? A może jakis trigger załozony na bazie? Proszę o rady

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
1

Nie wiem do końca co masz na myśli, no null to nie to samo co zero.
Nie wystarczy przy zapytaniu do bazy dać warunek

Kopiuj
SELECT........ WHERE pole <>0 

?

Edit: A przepraszam, już wiem o co chodzi - urządzenie zapisując do bazy zapisuje wartości 0. Triger trigerem, ale czy w ogóle urządzenie nie może nie zapisywać wartości, jeśli ona jest równa 0?

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Jeśli nie chcesz ich w ogóle przechowywać, czyli takie rekordy nie powinny w ogóle być dodane do bazy to wystarczy dodać ograniczenie na tej kolumnie.

Kopiuj
ALTER TABLE tabela
ADD CONSTRAINT chk_wartosc
CHECK (wartosc<>0)

Jeśli chcesz je pobierać z pominięciem tej wartości to w WHERE bierzesz wartości różne od zera.

Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
0

Tak to wygląda w bazie:
http://zapodaj.net/449f9a43b269a.jpg.html

w skrócie mówiąc chciałbym te rekordy z "0" powywalać:)

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Może zwykły DELETE? Co dokładnie jest tu przeszkodą?

Kopiuj
DELETE FROM tabela WHERE wartosc1=0 AND wartosc2=0 ...

Następnie możesz założyć ograniczenie, o którym wcześniej pisałem i już się takie pomiary nie pojawią. Jeśli kilka wartości na raz ma być zerem, można to obsłużyć poprzez trigger.

Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
0

Dziękuje za cenne rady, rozwialiście moje wątpliwości;)

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.