Press "Enter" to skip to content

SQL Server Aggiornare una tabella con i valori di un’altra tabella

Oggi, proseguendo il lavoro relativo al post precedente, mi si è presentata la seguente necessità,  Creata una tabella contenente alcune informazioni, avevo la necessità di aggiornare le informazioni su questa tabella usando i dati contenuti su un’altra tabella.

Esempio: Ho creato una tabella inventari, contenente Codice Articolo, descrizione, quantità, per crearla ho utilizzato una query di insert dalla tabella articoli di magazzino, ora gli utenti hanno compilato le giacenze, ed io devo aggiungere ultimo costo ed ultimo prezzo leggendoli dalla tabella listini.

Per semplicità, le mie tabelle sono le seguenti:

TbInventari
   IDInventario int
   IDArticolo nvarchar(32)
   Quantita decimal(18,5)
   Perzzo decimal(18,5)
   Costo decimal(18,5)

TbListini
   IDListino int
   IDarticolo nvarchar(32)
   Prezzo decimal(18,5)
   Costo decimal (18,5)

Per aggiornare il prezzo ed il costo sulla tabella inventari, utilizzo una query di Update, con una Join.

UPDATE TbInventari
    SET Prezzo = isnull(lis.Prezzo,0)
      , Costo = isnull(lis.Costo,0)
FROM TbInventari inv
INNER JOIN
    TbListini lis
ON
  inv.IDArticolo = lis.IDArticolo  

In questo modo, metto in relazione le due tabelle utilizzando la JOIN poi aggiorno la tabella Inventari con i Valori della tabella listini.