ホームページ >データベース >mysql チュートリアル >テーブル B の一致するユーザー名に基づいてテーブル A の列を更新するにはどうすればよいですか?

テーブル B の一致するユーザー名に基づいてテーブル A の列を更新するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-15 07:40:46933ブラウズ

How to Update Table A Columns Based on Matching Usernames in Table B?

テーブル B 内の一致するユーザー名に基づいてテーブル A を更新します

このガイドでは、table_a のデータを使用してテーブル table_b の列を更新し、共通の "user_name" 列に基づいて行を照合する方法を説明します。 目標は、ユーザー名と一致するように、column_a_1column_a_2table_a にそれぞれ column_b_1column_b_2table_b の値を入力することです。

SQL ソリューション:

次の SQL ステートメントは、この更新を効率的に実現します:

<code class="language-sql">UPDATE table_a
SET
    column_a_1 = (SELECT b.column_b_1 FROM table_b b WHERE b.user_name = table_a.user_name),
    column_a_2 = (SELECT b.column_b_2 FROM table_b b WHERE b.user_name = table_a.user_name)
WHERE
    EXISTS (SELECT 1 FROM table_b b WHERE b.user_name = table_a.user_name);</code>

このクエリは、サブクエリを使用して table_b から適切な値を取得し、それらを table_a 内の対応する行に適用します。 EXISTS 句により、両方のテーブルでユーザー名が一致する行のみが更新されるようになり、ユーザー名が table_a には存在するが table_b には存在しない場合のエラーが防止されます。 エイリアス (btable_b など) を使用すると、可読性が向上します。

以上がテーブル B の一致するユーザー名に基づいてテーブル A の列を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。