Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Update mit WHERE Bedingung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Update mit WHERE Bedingung

    Hi,

    folgender Code geht nicht:

    Code:
    UPDATE A.call_nmbr1
    FROM 'biblio' AS A, 'biblio_copy' AS B
    SET A.call_nmbr1 = 'Buch'
    WHERE A.'bibid' = B.'bidid'
    AND B.barcode_nmbr = 'br0%'
    Ich möchte eine Spalte aktualisieren, die in der Tabelle (biblio) liegt und (call_nmbr1) heißt.
    Allein gesehen kein Problem.

    Allerdings darf das Update nur greifen, wenn in anderen Tabelle (biblio_copy) die Spalte (barcode_nmbr) ein Wert drinsteht, der mit "br0" anfängt (% - Joker zeichen für die folgenden Werte)

    Verknüpft sind die beiden Tabellen über (bibid).

    Kann einer Helfen ?

  • #2
    Sollte in etwa so gehen, wenn ich mich nicht vertippt habe...

    Code:
    UPDATE biblio AS A
       SET A.call_nmbr1 = 'Buch'
     WHERE A.bibid IN ( SELECT B.bidid
                           FROM biblio_copy AS B
                          WHERE B.barcode_nmbr LIKE 'br0%')
    Grüße
    Thomas

    Kommentar


    • #3
      Danke Thomas....

      aber da muß wohl doch n Tippfehler drin sein.
      Aber das schaue mir mogen früh dirket nochmal im Detail an.

      Kommentar


      • #4
        Zitat von lord_icon Beitrag anzeigen
        folgender Code geht nicht:
        „Funzt nich“ ist und bleibt alles andere als eine brauchbare Problembeschreibung!
        Also liefere bitte eine solche nach.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          soo...

          PMA meldet:
          MySQL meldet:
          #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM biblio AS A
          SET A.`call_nmbr1` = 'Roman'
          WHERE A.`bibid` IN
          (SELECT B.`' at line 2
          Ich hab alles jetzt nochmal gemäß PMA Vorgaben in ' ' gesetzt...
          Code:
          UPDATE A.`call_nmbr1`
          FROM biblio AS A
          SET A.`call_nmbr1` = 'Roman'
          WHERE A.`bibid` IN 
          (SELECT B.`bibid`
           FROM biblio_copy AS B
           WHERE B.`barcode_nmbr` LIKE 'bro%')
          Die Select Anweisung klappt aber... muß wohl was in der Update Anweisung liegen.

          Müsste es denn nicht
          UPDATE A.`biblio` heißen ?
          call_nmbr1 = ist die zu überschreibende Spalte
          biblio = ist die Tabelle

          Kommentar


          • #6
            Fast richtig, ich hatte meinen SQL zwischenzeitlich korrigiert, siehe (#2)

            Code:
            UPDATE biblio AS A
               SET A.call_nmbr1 = 'Buch'
             WHERE A.bibid IN ( SELECT B.bidid
                                   FROM biblio_copy AS B
                                  WHERE B.barcode_nmbr LIKE 'br0%')
            Grüße
            Thomas

            Kommentar


            • #7
              Ahh.... tatsache. Nun funzt es.

              Hab ich garnicht mehr gesehen, das du das später nochmal bearbeitet hattest ^^

              Danke dir

              Kommentar

              Lädt...
              X