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
182 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 :

<code class="language-sql">UPDATE Sales_Import
SET AccountNumber = RAN.AccountNumber
FROM Sales_Import SI
INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID;</code>
Copier après la connexion

MySQL et MariaDB :

<code class="language-sql">UPDATE Sales_Import SI, RetrieveAccountNumber RAN
SET SI.AccountNumber = RAN.AccountNumber
WHERE SI.LeadID = RAN.LeadID;</code>
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!

source:php.cn
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