Announcement

Collapse
No announcement yet.

Update mit Werten aus einer anderen Tabelle

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

  • Update mit Werten aus einer anderen Tabelle

    Hallo,

    ich habe da ein kleines T-SQL Problem welches ich nicht gelöst bekomme.

    Es gibt 2 Tabellen

    Tabelle1 mit den Spalten
    id(int) Status(varchar) Datum(datetime)

    Tabelle2 mit den identischen Spalten
    id(int) Status(varchar) Datum(datetime)

    Die "id" ist in beiden Tabellen nicht eindeutig.
    Eine Eindeutigkeit ergibt sich aus der Kombination "id" und "Datum".


    Nun sollen die Spalten "Status" aus der Tabelle1 mit dem neuesten Wert aus Tabelle 2 geupdatet werden, wo beide "id´s" identisch sind.

    Also ungefähr so:

    Code:
    UPDATE [Tabelle1] SET [Status] = (SELECT [Status] FROM [Tabelle2] WHERE....)

    Hoffentlich habe ich mit halbwegs verständlich ausgedrückt.


    Danke und Gruß,
    Andre

  • #2
    so etwa (korreliertes Update):
    [highlight=sql]
    UPDATE tabelle1 t1
    SET t1.status = (SELECT tu.status
    FROM (SELECT t2.id,
    t2.status,
    t2.mydate
    FROM tabelle2 t2,
    (SELECT id,
    MAX(mydate) AS mydate
    FROM ta belle2
    GROUP BY id) tag
    WHERE t2.id = tag.id
    AND t2.mydate = tag.mydate) tu
    WHERE t1.id = tu.id);
    [/highlight]

    Wenn auch nur die jüngste ID in t1 erschlagen werden soll, dann myDate in where 1. Ebene aufnehmen.
    Gruß, defo

    Comment

    Working...
    X