Hesap numaraları ve kart numaraları içeren bir veritabanım var. Bunları bir dosyayla eşleştirerek herhangi bir kart numarasını hesap numarasına "güncelliyorum", böylece yalnızca hesap numaralarıyla çalışıyorum.
Tabloyu hesap/kart veritabanına bağlayarak Tablo Kimliği
ve ilgili hesap numarasını döndüren bir görünüm oluşturdum ve şimdi Kimliğin Hesap Numarası ile eşleştiği kayıtları güncellemem gerekiyor.
Bu, hesap numarası
alanının güncellenmesi gereken Sales_Import
tablosudur:
LeadID AccountNumber
147 5807811235
150 5807811326
185 7006100100007267039
Bu da güncelleme yapmam gereken RetrieveAccountNumber
tablosu:
LeadID AccountNumber
147 7006100100007266957
150 7006100100007267039
Aşağıdakileri denedim, ancak şimdiye kadar şansım yaver gitmedi:
UPDATE [Sales_Lead].[dbo].[Sales_Import]
SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID =
RetrieveAccountNumber.LeadID)
Kart numaralarını hesap numaralarına günceller, ancak hesap numaraları NULL
ile değiştirilir
Bir JOIN
ile birlikte bir UPDATE FROM
un yardımcı olacağına inanıyorum:
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;
MSSQL kullanıyorsunuz gibi görünüyor, o zaman yanlış hatırlamıyorsam bu şekilde yapılıyor:
UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] =
RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import].LeadID = RetrieveAccountNumber.LeadID
Yanıtlarınız için teşekkürler. Bir çözüm buldum.
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)