Announcement

Collapse
No announcement yet.

UPDATE über mehrere Tabellen

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

  • UPDATE über mehrere Tabellen

    In MySQL weiss ich, wie man ein UPDATE über mehrere Tabellen durchführt.

    Am einem Beispiel mit 2 Tabellen
    - Auftraege(AuftragID,erledigt)
    - AuftraegePositionen (APosID,AuftragID,erledigt)

    Um alle Auftrags-Positionen auf erledigt zu setzen, deren Auftrag erledigt ist, funktioniert es in MySQL mit diesem Befehl:

    Code:
    UPDATE Auftraege a, AuftraegePositionen ap
    SET ap.erledigt = -1
    WHERE a.AuftragID = ap.AuftragID
    AND a.erledigt=-1 AND ap.erledigt=0
    MS SQL kennt diese Syntax nicht (auch ohne Aliasse funktioniert es nicht), weiss jemand wie diese hier lauten müsste?

    Viele Grüße

    Egon Schmid

  • #2
    Sollte so gehen:
    [HIGHLIGHT="SQL"]UPDATE ap
    SET ap.erledigt = -1
    FROM AuftraegePositionen AS ap
    JOIN Auftraege AS a ON a.AuftragID = ap.AuftragID
    AND a.erledigt =-1
    WHERE ap.erledigt = 0[/HIGHLIGHT]
    PS: Formatierung von SQL in Beiträgen

    Comment


    • #3
      Probiers mal so:


      [highlight=sql]
      Update AuftraegePositionen set erledigt=-1
      Where erledigt=0 and exists
      (Select * from Auftraege where
      Auftraege.AuftragID= AuftraegePositionen.AuftrageID
      and Auftraege.erledigt=-1)
      [/highlight]

      Gruß
      docendo discimus

      Comment

      Working...
      X