Fråga : UppdateringQuery med subquery

Hälsningexperter!

In mitt uppdateringmeddelande som jag önskar till fastställd ”str_gewertet” till resultatet av subqueryen för varje rekord var tbl_matrix_intermediate_result = z.pk-

Is det även möjligheten som använder en kolonn av en inre query som ett filnamn för rekorden av bordlägga som ska uppdateras? tack för

Many för din hjälp!

Brgds,

Seb
> för
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:
" codeBody " " tbl_matrix_intermediate_result för >update för class= " för
" klar "

Svar : UppdateringQuery med subquery

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,
Andra lösningar  
 
programming4us programming4us