ホームページ > データベース > mysql チュートリアル > 一致する ID と並べ替え順序に基づいて、別のテーブルのデータでテーブルを更新するにはどうすればよいですか?

一致する ID と並べ替え順序に基づいて、別のテーブルのデータでテーブルを更新するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-31 03:08:02
オリジナル
915 人が閲覧しました

How to Update a Table with Data from Another Table Based on Matching IDs and Sort Order?

高度な MySQL クエリ: 別のテーブルのデータを使用したテーブルの更新

当面のタスクは、ビジネス テーブルの電子メール列を更新することですpeople テーブルの email 列のデータを使用します。 2 つのテーブルは、business_id 列によって接続されています。

この更新クエリへの直接的なアプローチは次のとおりです。

<code class="sql">UPDATE business b
SET b.email = (
    SELECT email
    FROM people p
    WHERE p.business_id = b.business_id AND sort_order = '1'
)
WHERE b.email = '';</code>
ログイン後にコピー

ただし、このクエリは、各 business_id の最初の一致のみを更新します。人々のテーブルで。関連するすべてのビジネス レコードを確実に更新するための変更は次のとおりです。

<code class="sql">UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = '';</code>
ログイン後にコピー

JOIN 構文を使用して business (b) テーブルと people (p) テーブルを明示的に結合することにより、クエリは、sort_order が最も高い人物のみが確実に更新されるようにします。値 (つまり、この場合は「1」) は更新に影響します。これにより、各ビジネスの最高位の人の電子メールを使用してビジネス データを更新するという意図された目標がより正確に一致します。

以上が一致する ID と並べ替え順序に基づいて、別のテーブルのデータでテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート