Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour les enregistrements SQL Server à l'aide des données d'une autre table via une instruction SELECT ?

Comment puis-je mettre à jour les enregistrements SQL Server à l'aide des données d'une autre table via une instruction SELECT ?

Patricia Arquette
Libérer: 2025-01-25 04:56:13
original
1058 Les gens l'ont consulté

How Can I Update SQL Server Records Using Data from Another Table via a SELECT Statement?

Tiration de sélection des instructions pour les mises à jour d'enregistrement de serveur SQL

SQL Server propose l'instruction INSERT...SELECT pour l'insertion de lignes. Ce guide montre comment mettre à jour les enregistrements existants de la même manière à l'aide de données provenant d'un autre tableau.

Structure de requête de mise à jour

La syntaxe suivante facilite la mise à jour des enregistrements en fonction des données d'une instruction SELECT:

UPDATE Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Table_A AS Table_A
    INNER JOIN Table_B AS Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool';
Copier après la connexion

Explication détaillée

  • UPDATE Table_A : Spécifie la table cible pour les mises à jour.
  • SET : Attribue des valeurs de Table_B aux colonnes spécifiées dans Table_A.
  • FROM : Identifie les tableaux impliqués dans l'opération de mise à jour.
  • INNER JOIN : liens Table_A et Table_B basé sur une colonne commune.
  • ON : définit la condition de jointure (colonnes correspondantes).
  • WHERE : filtre les lignes mises à jour en fonction d'une condition spécifique.

Exemple pratique

Imaginez Table_A avec les colonnes id, col1, col2, et col3, et Table_B (potentiellement une table temporaire) contenant des valeurs mises à jour pour id, col1, et col2.

pour mettre à jour Table_A en utilisant des données de Table_Bcol3 est `` cool '', utilisez cette requête:

UPDATE Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Table_A
    INNER JOIN Table_B
        ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool';
Copier après la connexion

Cette requête rejoint les tables de la colonne id, mettant à jour col1 et col2 dans Table_A uniquement pour les lignes où col3 est égal à «cool» dans les deux tables. Cela garantit que seuls les enregistrements correspondants sont mis à jour.

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