Ich habe eine Datenbank mit "Kontonummern" und "Kartennummern". Ich gleiche diese mit einer Datei ab, um alle Kartennummern mit der Kontonummer zu "aktualisieren", so dass ich nur mit Kontonummern arbeite.
Ich habe eine Ansicht erstellt, die die Tabelle mit der Konto-/Kartendatenbank verknüpft, um die "Tabellen-ID" und die zugehörige Kontonummer zurückzugeben, und nun muss ich die Datensätze aktualisieren, bei denen die ID mit der Kontonummer übereinstimmt.
Dies ist die Tabelle "Sales_Import", in der das Feld "Kontonummer" aktualisiert werden muss:
LeadID AccountNumber
147 5807811235
150 5807811326
185 7006100100007267039
Und dies ist die Tabelle RetrieveAccountNumber
, von der aus ich aktualisieren muss:
LeadID AccountNumber
147 7006100100007266957
150 7006100100007267039
Ich habe das Folgende versucht, aber bisher kein Glück gehabt:
UPDATE [Sales_Lead].[dbo].[Sales_Import]
SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID =
RetrieveAccountNumber.LeadID)
Es aktualisiert die Kartennummern zu Kontonummern, aber die Kontonummern werden durch NULL
ersetzt
Ich glaube, ein UPDATE FROM
mit einem JOIN
wird helfen:
UPDATE
Sales_Import
SET
Sales_Import.AccountNumber = RAN.AccountNumber
FROM
Sales_Import SI
INNER JOIN
RetrieveAccountNumber RAN
ON
SI.LeadID = RAN.LeadID;
UPDATE
Sales_Import SI,
RetrieveAccountNumber RAN
SET
SI.AccountNumber = RAN.AccountNumber
WHERE
SI.LeadID = RAN.LeadID;
Anscheinend verwenden Sie MSSQL, und wenn ich mich richtig erinnere, geht das so:
UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] =
RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import].LeadID = RetrieveAccountNumber.LeadID
Danke für die Antworten. Ich habe eine Lösung gefunden, tho.
UPDATE Sales_Import
SET AccountNumber = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE Sales_Import.leadid =RetrieveAccountNumber.LeadID)
WHERE Sales_Import.leadid = (SELECT RetrieveAccountNumber.LeadID
FROM RetrieveAccountNumber
WHERE Sales_Import.leadid = RetrieveAccountNumber.LeadID)