Actualización de SQL de una tabla a otra según una coincidencia de ID

Resuelto asked hace 16 años • 0 respuestas

Tengo una base de datos con account numbersy card numbers. Los relaciono con un archivo con updatecualquier número de tarjeta y el número de cuenta, de modo que solo trabajo con números de cuenta.

Creé una vista que vincula la tabla a la base de datos de cuenta/tarjeta para devolver el Table IDnúmero de cuenta relacionado, y ahora necesito actualizar aquellos registros donde la identificación coincide con el número de cuenta.

Esta es la Sales_Importtabla donde el account numbercampo debe actualizarse:

ID principal Número de cuenta
147 5807811235
150 5807811326
185 7006100100007267039

Y esta es la RetrieveAccountNumbertabla desde donde necesito actualizar:

ID principal Número de cuenta
147 7006100100007266957
150 7006100100007267039

Probé lo siguiente, pero no tuve suerte hasta ahora:

UPDATE [Sales_Lead].[dbo].[Sales_Import] 
SET    [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber 
                          FROM   RetrieveAccountNumber 
                          WHERE  [Sales_Lead].[dbo].[Sales_Import]. LeadID = 
                                                RetrieveAccountNumber.LeadID) 

Actualiza los números de tarjeta a números de cuenta, pero los números de cuenta se reemplazan porNULL

 avatar Oct 22 '08 14:10
Aceptado

Creo que UPDATE FROMcon una JOINayuda:

Microsoft SQL

UPDATE
    Sales_Import
SET
    Sales_Import.AccountNumber = RAN.AccountNumber
FROM
    Sales_Import SI
INNER JOIN
    RetrieveAccountNumber RAN
ON 
    SI.LeadID = RAN.LeadID;

MySQL y MariaDB

UPDATE
    Sales_Import SI,
    RetrieveAccountNumber RAN
SET
    SI.AccountNumber = RAN.AccountNumber
WHERE
    SI.LeadID = RAN.LeadID;
Mark S. Rasmussen avatar Oct 22 '2008 07:10 Mark S. Rasmussen

La forma sencilla de copiar el contenido de una tabla a otra es la siguiente:

UPDATE table2 
SET table2.col1 = table1.col1, 
table2.col2 = table1.col2,
...
FROM table1, table2 
WHERE table1.memberid = table2.memberid

También puede agregar la condición para copiar los datos particulares.

Shivkant avatar Jan 20 '2010 12:01 Shivkant