Maison > base de données > tutoriel mysql > Comment mettre à jour une table SQL à partir d'une autre à l'aide d'un ID correspondant ?

Comment mettre à jour une table SQL à partir d'une autre à l'aide d'un ID correspondant ?

Linda Hamilton
Libérer: 2025-01-23 00:49:08
original
249 Les gens l'ont consulté

How to Update One SQL Table from Another Using a Matching ID?

Mise à jour des tables SQL en fonction des identifiants correspondants

Ce guide montre comment mettre à jour les enregistrements dans une table SQL (Sales_Import) en utilisant les données correspondantes d'une autre table (RetrieveAccountNumber), correspondant sur un LeadID commun. Un défi courant consiste à mettre à jour AccountNumber dans Sales_Import en utilisant les valeurs de RetrieveAccountNumber sans rencontrer de valeurs nulles. La solution utilise une instruction UPDATE avec un JOIN.

Mettre à jour efficacement les enregistrements avec les JOINs

La syntaxe UPDATE ... FROM ... JOIN permet des mises à jour efficaces en combinant les données de plusieurs tables. Cette méthode garantit que seuls les enregistrements correspondants sont mis à jour.

MS SQL Serveur :

UPDATE Sales_Import
SET AccountNumber = RAN.AccountNumber
FROM Sales_Import SI
INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID;
Copier après la connexion

MySQL et MariaDB :

UPDATE Sales_Import SI, RetrieveAccountNumber RAN
SET SI.AccountNumber = RAN.AccountNumber
WHERE SI.LeadID = RAN.LeadID;
Copier après la connexion

Explication :

  • UPDATE Sales_Import : Ceci spécifie la table cible pour l'opération de mise à jour.
  • SET AccountNumber = RAN.AccountNumber : Ceci attribue le AccountNumber de la table RetrieveAccountNumber (RAN.AccountNumber) à la colonne AccountNumber de la table Sales_Import.
  • FROM Sales_Import SI INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID (MS SQL) ou UPDATE Sales_Import SI, RetrieveAccountNumber RAN WHERE SI.LeadID = RAN.LeadID (MySQL/MariaDB) : cela joint les deux tables basées sur le LeadID, garantissant que seules les lignes avec correspondance Les identifiants sont mis à jour. La clause INNER JOIN (MS SQL) ou WHERE (MySQL/MariaDB) fait office de critère de correspondance.

Cette approche résout directement le problème des valeurs nulles en mettant à jour uniquement les lignes où un LeadID correspondant existe dans les deux tables. Cela se traduit par un processus de mise à jour plus propre et plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal