Beiträge von Markus15

    Hallo,

    ich weiß nicht weshalb, aber irgendwie komme ich nicht auf die Lösung:

    [TABLE='width: 500']

    [tr][/tr]


    [/TABLE]
    [TABLE='width: 454']

    [tr]


    [TD='width: 446'][TABLE='width: 500']

    [tr][td]

    ztab1
    sp zu at
    11 A A 1
    12 G A 1
    13 G D 1
    14 E F 1
    15 G 2
    16 A 2

    [/td][td]

    ztab2
    sp sx io
    11 510 0
    12 520 0
    13 530 0
    14 540 0
    15 550 0
    16 560 0
    13 531 0

    [/td][td]

    ztab2 (Ergebnis)
    sp sx io
    11 510 560
    12 520 550
    13 530 550
    14 540 0
    15 550 0
    16 560 0

    [/td][/tr]


    [/TABLE]
    [/TD]

    [/tr]


    [/TABLE]
    die Datensätze 12, 13 sollen in der Spalte ztab2.io den Wert 550 erhalten und Datensatz 11 den Wert 560. Angelpunkte sind in ztab1.zu (sp: 15,16 - sozusagen Vornamen-strings).
    Muss man da ggf. mit ner temporären Tabelle arbeiten?


    ein paar Sachen habe ich probiert, aber ... immer "dicht" daneben:

    UPDATE ztab2 SET io = ( SELECT ztab2.sx
     FROM ztab1
     WHERE SUBSTRING_INDEX( ztab1.zu, ' ', 1 ) = 'G'
     AND ztab1.sp = ztab2.sp ) // 12, 13, 15 - aber nur alle 'G' gleichgesetzt: sx==io

    UPDATE ztab2 SET io = (  
     SELECT ztab2.sx
     FROM ztab1 as eins
     LEFT JOIN ztab1 as zwei ON (zwei.sp = eins.sp)
     WHERE eins.zu = 'G ') // alle Datensätze betroffen (wenn vorher auf 0 gesetzt) & gleichgesetzt

    UPDATE ztab2 SET io = (  
     SELECT ztab2.sx
     FROM ztab1, ztab2 AS zwei
     WHERE SUBSTRING_INDEX(ztab1.zu, ' ', 1) = 'G'
     AND ztab1.sp = zwei.sp) // error ztab2 gehört nicht hin. Probl. mit Verbindung


    die Tabellen haben einige Tausend Datensätze.

    Markus