Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour une table dans SQL à l'aide des valeurs jointes de plusieurs tables ?

Comment puis-je mettre à jour une table dans SQL à l'aide des valeurs jointes de plusieurs tables ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-22 13:51:10994parcourir

How Can I Update a Table in SQL Using Joined Values from Multiple Tables?

Utilisation de JOIN pour mettre à jour la table SQL Server

L'utilisation de JOIN pour mettre à jour les tables de la base de données est une technique puissante pour modifier les données en fonction des relations entre plusieurs tables. Dans Microsoft SQL Server, l'instruction UPDATE peut être utilisée conjointement avec JOIN pour atteindre cet objectif.

Question :

Vous devez mettre à jour un champ dans la table "item_master" avec les valeurs JOIN de trois autres tables ("group_master", "Manufacturer_Master" et "item_master" lui-même).

Solution :

Étape 1 : Créer une requête JOIN

<code class="language-sql">SELECT
    im.itemid,
    im.sku AS iSku,
    gm.SKU AS GSKU,
    mm.ManufacturerId AS ManuId,
    mm.ManufacturerName,
    im.mf_item_number,
    mm.ManufacturerID
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

Cette requête récupère toutes les lignes correspondantes de trois tables et filtre en fonction de critères spécifiés.

Étape 2 : Mettre à jour les champs à l'aide de JOIN

L'instruction UPDATE suivante définit le champ "mf_item_number" de la table "item_master" à la valeur de "gm.SKU" en utilisant l'alias de la table (im, gm, mm) dans la clause JOIN :

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

Instructions :

  • La table cible de la mise à jour est "item_master" (alias "im").
  • La valeur à mettre à jour est "gm.SKU" (de la table "group_master").
  • La clause JOIN garantit que les lignes à mettre à jour satisfont aux conditions données.
  • Cette requête met à jour tous les champs "mf_item_number" de la table "item_master" qui remplissent les conditions spécifiées en utilisant la valeur "SKU" correspondante dans la table "group_master".

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