sqlite wyzwalacz

0

Mam straszny problem z wyzwalaczem, niestety nie działa mi:
<ort> INSERT INTO not_zakres SELECT NULL , n . data , n . nazwa , n . open , n . high , n . low , n . close , n . volumen , n . liczba_tr , n . obrot FROM notowania n WHERE liczba_tr > 0.5 * liczba_tr <= ( SELECT data FROM not_zakres z WHERE z . data = n . data AND n . nazwa = z . nazwa ) IS NULL ORDER BY ID DESC LIMIT 1 </ort>

Chodzi o to aby z tabeli notowania wrzucało do tablicy not_zakres rekordy które maja liczbe_tr>0.5*liczba_tr ostatniej wartości.

Dziękuję za wszelką pomoc :D

0

Uporządkujmy to co chcesz uzyskać bo czegoś tutaj brakuje :

INSERT INTO not_zakres 
SELECT NULL , n . data , n . nazwa , n . open , n . high , n . low , n . close , n . volumen , n . liczba_tr , n . obrot 
FROM notowania n 
WHERE liczba_tr > 0.5 * liczba_tr   -- AND/OR - co ??? 
                   <= ( SELECT data FROM not_zakres z WHERE z . data = n . data AND n . nazwa = z . nazwa ) IS NULL 
ORDER BY ID DESC LIMIT 1  

cały ten warunek jest jakoś podejrzany.... po co to podzapytanie, po co ten IS NULL ?

0

IS NULL ponieważ to PRIMARY KEY AUTOINCREMENT, dletego nie mogę użyć gwiazdki lecz kopiować po krotce. Chodzi o to iż kiedy pojawia się nowy wpis, oczywiście z nowa datą i spełniają warunek że liczba_tr jest większa od połowy liczby_tr ostatniego wpisu to kopiuje się do tablicy not_zakres :)

0

ktoś, coś pomoże? :)

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