it-swarm.com.de

Aktualisieren der Spaltenwerte mit der Spalte einer anderen Tabelle basierend auf der Bedingung

Ich habe zwei Tische ...

werte für Tabelle1 (ID, Artikel, Preis):

id | item | price
-------------
10 | book | 20  
20 | copy | 30   
30 | pen  | 10

Werte für Tabelle 2 (ID, Artikel, Preis):

id | item | price
-------------
10 | book | 20
20 | book | 30

Jetzt möchte ich:

update table1 
   set table1.Price = table2.price 
 where table1.id = table2.id
   and table1.item = table2.item.

Wie mache ich es?

101
niceApp

So etwas sollte es tun:

UPDATE table1 
   SET table1.Price = table2.price 
   FROM table1  INNER JOIN  table2 ON table1.id = table2.id

Sie können dies auch versuchen:

UPDATE table1 
   SET price=(SELECT price FROM table2 WHERE table1.id=table2.id);
181
RageZ

Das wird sicherlich funktionieren:

UPDATE table1
SET table1.price=(SELECT table2.price
  FROM table2
  WHERE table2.id=table1.id AND table2.item=table1.item);
76
Nadeem