Announcement

Collapse
No announcement yet.

UPDATE Statement

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • UPDATE Statement

    Hallo zusammen,
    das ist nun wirklich peinlich, aber ich schaffe es nicht, eine UPDATE Statement zum laufen zu bekommen.

    Über einen Button, der die Bestellnummer enthält soll die SQL Query gehen.
    Bsp.: Mein Button hat als Wert die '2222' (= BestellNummer)

    Nun meine Tabellen:

    tblLieferung (hier soll ein Feld upgedatet werden)
    *LieferID
    -Bemerkung (das Feld, in das geschrieben werden soll)

    tblLiefereinzelheiten
    *LieferEinzelheitenID
    LieferID (Verknüpfung zu tblLieferung)
    BestelleinzelheitenID (Verknüpfung zu tblBestelleinzelheiten)

    tblBestelleinzelheiten
    *BestelleinzelheitenID
    BestellID (Verknüpfung zu tblBestellung)

    tblBestellung
    *BestellID
    Bestellnummer (Wert, anhand dem ich das Update machen möchte. hier: 2222)

    Mein Code:
    Code:
    UPDATE tbllieferung SET Bemerkung = 'erledigt' 
    WHERE tblBestellung.BestellNummer = '2222' 
    And tblbestellung.BestellID = tblBestelleinzelheiten.BestellID 
    And tblBestelleinzelheitenID = tblliefereinzelheiten.BestellID 
    And tblliefereinzelheiten.LieferID = tblLieferung.LieferID"

    Kann mir bitte jemand helfen?! Ich komme nicht mehr weiter ...
    Vielen Dank im Voraus!

  • #2
    Im Update kann nur eine Tabelle angesprochen werden, in der Bedingung dagegen u.U. mehrere. Deshalb so versuchen:

    UPDATE tbllieferung SET Bemerkung = 'erledigt'
    WHERE LieferID=
    (select tblliefereinzelheiten.LieferID from
    tblBestellung,tblBestelleinzelheiten, tblliefereinzelheiten where
    tblBestellung.BestellNummer = '2222'
    And tblbestellung.BestellID = tblBestelleinzelheiten.BestellID
    And tblBestelleinzelheitenID = tblliefereinzelheiten.BestellID)

    Comment


    • #3
      Hallo,

      ist das nicht ausreichend!?
      [highlight=sql]
      UPDATE tbllieferung SET Bemerkung = 'erledigt'
      WHERE tblBestellung.BestellNummer = '2222'
      [/highlight]

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hi,

        irgendwie versteh ich das nicht. Man kann doch nicht eine Tabelle updaten wollen, aber die Bedingung in einer anderen Tabelle angeben.
        Also irgendwie bräuchte man schon ein Feld, welches in beiden Tabellen vorhanden ist, um es zu "joinen"


        ThX
        Steve

        Comment


        • #5
          @Falk Prüfer
          Geht so nicht
          @SteveG
          Genau

          Deshalb so wie oben von mir beschrieben:

          UPDATE TABELLE_A SET FELD2='xxx' WHERE FELD1=[Bedingung]

          Bedingung:
          SELECT TABELLE_B.FELD1 FROM TABELLE_B,TABELLE_C
          WHERE TABELLE_C.FELD2='yyy' AND
          TABELLE_B.FELD2=TABELLE_C.FELD1

          ... mal etwas abstahiert.

          Comment


          • #6
            Es wurde noch nicht erwähnt, um welche DBMS es geht.

            Der MS SQL unterstütz z.B. dieses hier:

            [highlight=SQL]UPDATE tbllieferung
            SET Bemerkung = 'erledigt'
            FROM tbllieferung
            INNER JOIN tblliefereinzelheiten
            ON tblliefereinzelheiten.LieferID = tblLieferung.LieferID
            INNER JOIN tblBestelleinzelheiten
            ON tblBestelleinzelheiten.ID = tblliefereinzelheiten.BestellID
            INNER JOIN tblbestellung
            ON tblbestellung.BestellID = tblBestelleinzelheiten.BestellID
            WHERE tblBestellung.BestellNummer = '2222' [/HIGHLIGHT]
            Olaf Helper

            <Blog> <Xing>
            * cogito ergo sum * errare humanum est * quote erat demonstrandum *
            Wenn ich denke, ist das ein Fehler und das beweise ich täglich

            Comment


            • #7
              jo, so macht das Sinn...zumindest für mich:-)

              Comment


              • #8
                Originally posted by Lothar-K View Post
                @Falk Prüfer
                Geht so nicht
                Warum nicht?
                Lt. Fragestellung

                Originally posted by Bonaqua View Post
                ...Über einen Button, der die Bestellnummer enthält soll die SQL Query gehen.
                Bsp.: Mein Button hat als Wert die '2222' (= BestellNummer)...
                ist eine einfache Where-Bedingung tblBestellung.BestellNummer = '2222' völlig ausreichend! Nur weil er schon ein verkorkstes Statement mit einer "unnützen" Bedingung postet muß ich das doch nicht in eine Antwort pressen!
                Oder weißt du mehr als uns Bonaqua in seiner Frage verraten hat?

                Gruß Falk
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment


                • #9
                  @Falk,

                  Du greifst in Deinem Statement doch auch auf zwei Tabellen zun nämlich auf tblieferung und tbBestellung nur fehlt hier der JOIN.

                  Gruß
                  docendo discimus

                  Comment


                  • #10
                    Originally posted by frauwue View Post
                    @Falk,

                    Du greifst in Deinem Statement doch auch auf zwei Tabellen zun nämlich auf tblieferung und tbBestellung nur fehlt hier der JOIN.

                    Gruß
                    Ups, ich nehme alles zurück und behaupte das Gegenteil . Da hab ich wohl vor lauter tblLieferBestellnumerEinzelheiten die Tabellen nicht auseinanderhalten können. Für mich war das ein normales Update auf EINER Tabelle - Sorry.

                    Gruß Falk
                    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                    Comment

                    Working...
                    X