2011-01-17 19 views

Antwort

1

Es klingt wie Sie nur eine korrelierte Update

UPDATE a 
    SET f2 = (SELECT f2 
       FROM b 
       WHERE a.f1 = b.f1) 
WHERE EXISTS (
    SELECT 1 
     FROM b 
    WHERE a.f1 = b.f1); 
+0

Dank dafür brauchen. Ist es möglich, dass die DML kürzer ist? Kann "mit" -Klausel verwendet werden? – trinity

+0

@trinity - Was meinst du mit "kürzer"? Wenn Sie sicherstellen können, dass jede Zeile in A eine übereinstimmende Zeile in B hat, können Sie die WHERE-Klausel entfernen. Aber ich sehe nicht, wie die Verwendung der WITH-Klausel die Abfrage überhaupt vereinfachen würde. –

Verwandte Themen