Ergebnis 1 bis 3 von 3

Thema: SQL Update

  1. #1

    SQL Update

    Ich will bei einer bestehenden Tabelle (mit Inhalt) eine leere Spalte (im Bsp. Spalte2) füllen/ updaten. Die Quell- bzw. Zieltabelle sieht folgendermaßen aus:

    Code:
    Zieltabelle:
    
    Spalte1 (PK)      Spalte2       Spalte3
    ----------------------------------------
       1                NULL          Daten
       2                NULL          Daten
       3                NULL          Daten
       4                NULL          Daten
       5                NULL          Daten
       6                NULL          Daten
    
    
    Quelltabelle (quasi eine Beziehungstabelle):
    
    Spalte1 (PK)      Spalte2
    --------------------------
       1                4711          
       2                4711         
       3                0815          
       4                666         
       5                666         
       6                666
    Ich möchte, daß in der Zieltabelle (Spalte2) die passenden Werte aus der Quelltabelle stehen, etwa so:

    Code:
    Spalte1 (PK)      Spalte2       Spalte3
    ----------------------------------------
       1                4711          Daten
       2                4711          Daten
       3                0815          Daten
       4                666           Daten
       5                666           Daten
       6                666           Daten
    Eigentlich kein Problem, aber ich kriegs nicht hin ! Man muss ja nicht einmal den PK (Spalte1) von Quell- und Zieltabelle vergleichen. Waaah, das ist es ja, was mich so ärgert !


    EDIT: Habe es hinbekommen! Für jemanden, der die Lösung wissen will:
    Code:
    UPDATE Zieltabelle 
    SET Spalte2 =
        (SELECT Spalte2
         FROM Quelltabelle
         WHERE Zieltabelle.Spalte1 = Quelltabelle.Spalte1)
    WHERE EXISTS
        (SELECT 1 
         FROM Quelltabelle
         WHERE Zieltabelle.Spalte1 = Quelltabelle.Spalte1)
    Geht bestimmt auch anders, aber naja .

    Geändert von Reaper (08.03.2007 um 13:52 Uhr)

  2. #2
    Virtuelle Tabelle? Join? So wie du es gerade erklärt hast, bin ich mir recht sicher, das ein Join ausreicht. Schlag mal nach was das ist, insofern du es nicht kennst.

  3. #3
    Danke, ich weiss, was ein Join(t) ist (muhahaha, welch schlechter Witz ). Aber mit einem Join realisieren, hört sich für mich schwieriger an! Join & Co hatte ich schon in einigen Prüfungen gehabt, aber das ist länger her (die graue Theorie).

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •