Vraag : De Vraag van de update met subquery

Hello deskundigen!

In mijn updateverklaring die ik heb willen om „str_gewertet“ aan het resultaat van subquery voor elk verslag plaatsen waar tbl_matrix_intermediate_result = z.pk

Is het zelfs mogelijk om een kolom van een binnenvraag als herkenningsteken van de bij te werken officieel lijst te gebruiken? dank

Many voor uw hulp!

Brgds,

Seb
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
update tbl_matrix_intermediate_result
      reeks
        (str_gewertet)
        = 
(uitgezochte gewertete_ba van (
met w zoals (selecteer cnt_tbl_matrix_intermediate pk, lng_baumart, str_ba_lang, str_ba_kat, int_prozent, str_gewertet, str_lrt_class van tbl_matrix_intermediate_result
          waar str_ba_kat binnen („H“, „N“, 'b', „P“)
          en lng_gebiet =: p_cnt_gebiet
          en str_lrt_class =: p_str_lrt
          en int_wg =: p_wg
          en int_be =: p_be
          en vlag niet binnen (1.2.3.4.5.6.7.8.9.10)
          en eval_type = 1 
         )

(uitgezochte prozent pk, str_ba_lang, lng_baumart, psumme, geval wanneer lng_baumart = 33 en str_gewertet = „Ja“ en prozent niet ongeldig zijn en (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.31) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“ 
wanneer lng_baumart = 53 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.29.30.31.32.33) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 54 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (13.14.15) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“ 
wanneer lng_baumart = 72 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (22.23.25.26.27) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“ 
wanneer lng_baumart = 74 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (5.6) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“ 
wanneer lng_baumart = 79 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.29.30.31.32) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart niet binnen (33.53.54.72.74.79) en prozent niet ongeldig en str_gewertet = „Ja“ toen „Ja“ is
anders „Nein“
eind als gewertete_ba
van (uitgezochte pk, lng_baumart, str_ba_lang, str_ba_kat ba_kat, str_gewertet, int_prozent prozent, (int_prozent) som over (verdeling door str_lrt_class) psumme van w)))z)
waar cnt_matrix_intermediate_result = z.pk

Antwoord : De Vraag van de update met subquery

o.k. kunt u dit: proberen

update tbl_matrix_intermediate_result m1
      reeks
        (m1.str_gewertet)
        =
(uitgezochte gewertete_ba van (
met w zoals (selecteer cnt_tbl_matrix_intermediate int_prozent pk, lng_baumart, str_ba_lang, str_ba_kat, str_gewertet, str_lrt_class
          van tbl_matrix_intermediate_result      
          waar str_ba_kat binnen („H“, „N“, 'b', „P“)
          en lng_gebiet =: p_cnt_gebiet          
          en str_lrt_class =: p_str_lrt          
          en int_wg =: p_wg          
          en int_be =: p_be
          en vlag niet binnen (1.2.3.4.5.6.7.8.9.10)      
          en eval_type = 1)
(uitgezochte prozent pk, str_ba_lang, lng_baumart, psumme,
 geval wanneer lng_baumart = 33 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.31) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 53 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.29.30.31.32.33) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 54 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (13.14.15) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 72 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (22.23.25.26.27) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 74 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (5.6) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart = 79 en str_gewertet = „Ja“ en prozent niet ongeldig en zijn (uitgezochte telling (*) van w waar w.lng_baumart binnen (28.29.30.31.32) en w.int_prozent niet ongeldig) zijn = 0 toen „Ja“
wanneer lng_baumart niet binnen (33.53.54.72.74.79) en prozent niet ongeldig en str_gewertet = „Ja“ toen „Ja“ is
anders „Nein“
eind als gewertete_ba
van (uitgezochte pk, lng_baumart, str_ba_lang, str_ba_kat ba_kat, str_gewertet, int_prozent prozent, (int_prozent) som over (verdeling door str_lrt_class) psumme van w)))z
waar m1.cnt_matrix_intermediate_result = z.pk)
waar bestaat (selecteer 1
          van tbl_matrix_intermediate_result xx
          waar xx.str_ba_kat binnen („H“, „N“, 'b', „P“)
          en xx.lng_gebiet =: p_cnt_gebiet
          en xx.str_lrt_class =: p_str_lrt
          en xx.int_wg =: p_wg
          en xx.int_be =: p_be
          en xx.flag niet binnen (1.2.3.4.5.6.7.8.9.10)
          en xx.eval_type = 1
          en xx.cnt_tbl_matrix_intermediate = m1.cnt_tbl_matrix_intermediate);

Ik heb toegevoegd waar de voorwaarde aan het updatebevel zodat slechts die verslagen die bijgewerkt moeten worden zullen bijwerkte en eveneens ook die voorwaarde bewoog die fout aan binnenkant gaf zodat het kan werken.

Test het goed genoeg om te zien of werkt dat boete omdat ik niet dit op mijn eind wegens geen lijsten/gegevens kan testen.

Dank,
Andere oplossingen  
 
programming4us programming4us