Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Rekod Jadual Berdasarkan ID Padanan dalam SQL?

Bagaimana untuk Mengemas kini Rekod Jadual Berdasarkan ID Padanan dalam SQL?

Susan Sarandon
Lepaskan: 2025-01-23 00:53:10
asal
967 orang telah melayarinya

How to Update Table Records Based on Matching IDs in SQL?

Kemas kini rekod jadual SQL berdasarkan padanan ID

Pengenalan

Dalam pengurusan pangkalan data, kadangkala perlu mengemas kini data dalam satu jadual berdasarkan ID yang sepadan dalam jadual lain. Ini amat berguna apabila memindahkan data atau menyegerakkan maklumat antara jadual.

Huraian Masalah

Andaikan kita mempunyai pangkalan data dengan dua jadual, Sales_Import dan RetrieveAccountNumber, setiap jadual mengandungi lajur bernama LeadID. Jadual Sales_Import mempunyai lajur AccountNumber yang perlu dikemas kini dengan nilai LeadID yang sepadan daripada jadual RetrieveAccountNumber berdasarkan nilai AccountNumber yang sepadan.

Percubaan yang gagal

Percubaan awal untuk mengemas kini rekod menggunakan pertanyaan berikut gagal:

<code class="language-sql">UPDATE [Sales_Lead].[dbo].[Sales_Import]
SET    [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber
                          FROM   RetrieveAccountNumber
                          WHERE  [Sales_Lead].[dbo].[Sales_Import]. LeadID =
                                                RetrieveAccountNumber.LeadID)</code>
Salin selepas log masuk

Pertanyaan ini menggantikan nombor akaun dengan nilai NULL.

Penyelesaian

Penyelesaian kepada masalah ini terletak pada penggunaan sintaks UPDATE FROM digabungkan dengan operasi gabungan. Pendekatan ini membolehkan kami mengemas kini rekod dalam satu jadual berdasarkan nilai padanan dalam jadual lain. Berikut ialah pertanyaan SQL untuk sistem pangkalan data yang berbeza:

MySQL dan MariaDB

<code class="language-sql">UPDATE
    Sales_Import SI,
    RetrieveAccountNumber RAN
SET
    SI.AccountNumber = RAN.AccountNumber
WHERE
    SI.LeadID = RAN.LeadID;</code>
Salin selepas log masuk

MS SQL

<code class="language-sql">UPDATE
    Sales_Import
SET
    Sales_Import.AccountNumber = RAN.AccountNumber
FROM
    Sales_Import SI
INNER JOIN
    RetrieveAccountNumber RAN
ON
    SI.LeadID = RAN.LeadID;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Rekod Jadual Berdasarkan ID Padanan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan