Announcement

Collapse
No announcement yet.

UPDATE mit zwei Tabellen

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

  • UPDATE mit zwei Tabellen

    Hallo.
    Habe zwei Tabellen:

    table1:
    Id | StateCode

    table2:
    Id | Phase

    Beide Tabellen sind schon gefüllt. Die jeweiligen IDs sind identisch bei den Tabellen. Jetzt würde ich das Feld StateCode ändern so dass es den Wert von Phase aufnimmt aber nur dann wenn das Feld Phase gleich 4 ist.
    Ich hab's mal versucht nur meldet er mir dass StateCode keine NULL sein darf. Irgendwie unlogisch denn ich will ja nur die Datensätze ändern wo StateCode den Wert 4 aufnehmen soll.
    Mein "Code":
    Code:
    UPDATE    table1
    SET              StateCode =
                              (SELECT     Phase
                                FROM          table2 AS i
                                WHERE      (i.Phase = 4) AND (i.Id = table1.Id))
    Kann jemand den Fehler sehen? Ich nicht!

    Danke allen die zu diesem Thema beitragen.

    MfG smilebey
    Zuletzt editiert von smilebey; 11.09.2007, 15:54.

  • #2
    Laß mal das AS weg
    Außerdem ist die Abfrage ja PHASe immer 4 ist wenn in der Where-Bedingung alle anderen Phasen ausgefiltert werden.

    Comment


    • #3
      Es sollen ja auch nur Datensätze die den Wert von Phase gleich 4 haben.
      Das AS wird selber vom MSSQLMS automatisch generiert. Ich habs ohne AS geschrieben. Das ist aber vollkommen egal.

      Comment


      • #4
        Müste dann wohl eher
        Code:
        Select id ...
        heißen.

        Comment


        • #5
          Hallo,

          du willst ja nur die Zeilen ändern, die bei table2.Phase einen Wert von 4 haben. Dann mußt du diese Bedingung eben auch in dein Update einbauen:
          [highlight=sql]
          UPDATE table1
          SET StateCode = (
          SELECT Phase
          FROM table2 AS i
          WHERE i.Id = table1.Id)
          WHERE table1.Id in (
          select i.Id
          FROM table2 AS i
          where i.Phase = 4)
          [/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


          • #6
            Ich bedanke mich ganz herzlich.

            MfG smilebey

            Comment

            Working...
            X