ホームページ >データベース >mysql チュートリアル >テーブル B の一致するユーザー名に基づいてテーブル A の列を更新するにはどうすればよいですか?
テーブル B 内の一致するユーザー名に基づいてテーブル A を更新します
このガイドでは、table_a
のデータを使用してテーブル table_b
の列を更新し、共通の "user_name" 列に基づいて行を照合する方法を説明します。 目標は、ユーザー名と一致するように、column_a_1
の column_a_2
と table_a
にそれぞれ column_b_1
の column_b_2
と table_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
には存在しない場合のエラーが防止されます。 エイリアス (b
の table_b
など) を使用すると、可読性が向上します。
以上がテーブル B の一致するユーザー名に基づいてテーブル A の列を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。