aprovação. pode você tentar este:
tbl_matrix_intermediate_result m1 da atualização
jogo
(m1.str_gewertet)
=
(gewertete_ba seleto de (
com w como (selecionar o cnt_tbl_matrix_intermediate PK, lng_baumart, str_ba_lang, str_ba_kat, int_prozent, str_gewertet, str_lrt_class
do tbl_matrix_intermediate_result
onde str_ba_kat dentro (“H”, “N”, “B”, “P ")
e lng_gebiet =: p_cnt_gebiet
e str_lrt_class =: p_str_lrt
e int_wg =: p_wg
e int_be =: p_be
e bandeira não em (1.2.3.4.5.6.7.8.9.10)
e eval_type = 1)
(PK seleto, str_ba_lang, prozent, lng_baumart, psumme,
caso quando o lng_baumart = 33 e str_gewertet = “Ja” e prozent não for nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (28.31) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart = 53 e str_gewertet = “Ja” e prozent não é nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (28.29.30.31.32.33) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart = 54 e str_gewertet = “Ja” e prozent não é nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (13.14.15) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart = 72 e str_gewertet = “Ja” e prozent não é nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (22.23.25.26.27) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart = 74 e str_gewertet = “Ja” e prozent não é nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (5.6) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart = 79 e str_gewertet = “Ja” e prozent não é nulo e (selecionar a contagem (*) de w onde w.lng_baumart dentro (28.29.30.31.32) e w.int_prozent não é nulo) = 0 então “Ja”
quando o lng_baumart não dentro (33.53.54.72.74.79) e prozent não forem nulos e str_gewertet = “Ja” então “Ja”
mais “Nein”
extremidade como o gewertete_ba
de (selecionar PK, lng_baumart, str_ba_lang, ba_kat do str_ba_kat, str_gewertet, prozent int_prozent, a soma (int_prozent) sobre (divisória por str_lrt_class) o psumme de w)))z
onde m1.cnt_matrix_intermediate_result = z.pk)
onde existe (selecionar 1
do tbl_matrix_intermediate_result xx
onde xx.str_ba_kat dentro (“H”, “N”, “B”, “P ")
e xx.lng_gebiet =: p_cnt_gebiet
e xx.str_lrt_class =: p_str_lrt
e xx.int_wg =: p_wg
e xx.int_be =: p_be
e xx.flag não em (1.2.3.4.5.6.7.8.9.10)
e xx.eval_type = 1
e xx.cnt_tbl_matrix_intermediate = m1.cnt_tbl_matrix_intermediate);
Eu adicionei onde circunstância ao comando da atualização também de modo que somente aqueles registros que precisam de começ a vontade atualizado atualizado e igualmente movi essa circunstância que deu o erro ao interior de modo que pudesse trabalhar.
Testá-la boa bastante para ver se isso está trabalhando muito bem porque eu não posso testar este em minha extremidade por causa de nenhuns tabelas/dados.
Obrigado,