ok. kan du försök detta:
uppdateringtbl_matrix_intermediate_result m1
uppsättning
(m1.str_gewertet)
=
(vald gewertete_ba från (
med w som (välj cnt_tbl_matrix_intermediate pk, lng_baumart, str_ba_lang, str_ba_kat som är int_prozent, str_gewertet, str_lrt_class
från tbl_matrix_intermediate_result
var str_ba_kat i (”H”, ”N”, ”B”, ”P”)
och lng_gebiet =: p_cnt_gebiet
och str_lrt_class =: p_str_lrt
och int_wg =: p_wg
och int_be =: p_be
och sjunka inte i (1.2.3.4.5.6.7.8.9.10)
och eval_type = 1)
(vald pk, str_ba_lang som är prozent, lng_baumart, psumme,
fall, när lng_baumart = 33 och str_gewertet = ”Ja” och prozent inte är ogiltig, och (välj räkningen (*) från w var w.lng_baumart in (28.31) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
(välj räkningen (*) när lng_baumart = 53 och str_gewertet = ”Ja” och prozent inte är ogiltig och, från w var w.lng_baumart in (28.29.30.31.32.33) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
(välj räkningen (*) när lng_baumart = 54 och str_gewertet = ”Ja” och prozent inte är ogiltig och, från w var w.lng_baumart in (13.14.15) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
(välj räkningen (*) när lng_baumart = 72 och str_gewertet = ”Ja” och prozent inte är ogiltig och, från w var w.lng_baumart in (22.23.25.26.27) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
(välj räkningen (*) när lng_baumart = 74 och str_gewertet = ”Ja” och prozent inte är ogiltig och, från w var w.lng_baumart in (5.6) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
(välj räkningen (*) när lng_baumart = 79 och str_gewertet = ”Ja” och prozent inte är ogiltig och, från w var w.lng_baumart in (28.29.30.31.32) och w.int_prozent är inte ogiltig), = 0 därefter ”Ja”,
när lng_baumart inte in (33.53.54.72.74.79) och prozent inte är ogiltiga och str_gewertet = ”Ja” därefter ”Ja”,
annars ”Nein”,
avsluta som gewertete_ba
från (välj pk, lng_baumart, str_ba_lang, str_ba_katba_kat, str_gewertet, int_prozent prozent, (den int_prozent) summan över (delningen vid str_lrt_class) psumme från w),))z
var m1.cnt_matrix_intermediate_result = z.pk)
välj 1, var finns (
från tbl_matrix_intermediate_result xx
var xx.str_ba_kat i (”H”, ”N”, ”B”, ”P”)
och xx.lng_gebiet =: p_cnt_gebiet
och xx.str_lrt_class =: p_str_lrt
och xx.int_wg =: p_wg
och xx.int_be =: p_be
och xx.flag inte i (1.2.3.4.5.6.7.8.9.10)
och xx.eval_type = 1
och xx.cnt_tbl_matrix_intermediate = m1.cnt_tbl_matrix_intermediate);
Jag har tillfogat var villkora till uppdateringen befaller som väl så att endast de rekord, som behöver att få uppdaterade ska uppdaterat och också rört som villkorar, som gav fel till insida, så att den kan fungera.
Testa det som är väl nog för att se, om det är den funktionsdugliga boten, därför att jag inte kan testa denna på mitt avslutar på grund av inget bordlägger/data.
Tack,