ホームページ > データベース > mysql チュートリアル > 同じ名前を共有する行のデータを使用してテーブル内の NULL 値を更新する方法

同じ名前を共有する行のデータを使用してテーブル内の NULL 値を更新する方法

Barbara Streisand
リリース: 2024-11-12 19:43:02
オリジナル
349 人が閲覧しました

How to Update NULL Values in a Table with Data from Rows Sharing the Same Name?

同じテーブルの兄弟からのデータによる行の更新

次のような構造を持つテーブルを想像してください:

ID NAME VALUE
1 Test VALUE1
2 Test2 VALUE2
1 Test2 NULL
4 Test NULL
1 Test3 VALUE3

あなたのタスクは、同じ値を持つ他の行のデータを NULL の「VALUE」セルに入力することです。 「NAME」 (つまり、「Test」と「Test2」は、前任者から値を継承する必要があります)。望ましい結果は次のとおりです。

ID NAME VALUE
1 Test VALUE1
2 Test2 VALUE2
1 Test2 VALUE2
4 Test VALUE1
1 Test3 VALUE3

課題は、特定の "NAME" 値を共有する同じテーブル内の行を参照することにあります。解決策には、JOIN ステートメントの使用が含まれます。

UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE
                        FROM data_table
                       WHERE VALUE IS NOT NULL AND VALUE != '') t1
   SET t.VALUE = t1.VALUE
 WHERE t.ID = t1.ID
   AND t.NAME = t1.NAME
ログイン後にコピー

このステートメントでは、サブクエリ (T1) は、NULL と空ではない「VALUE」値を持つ個別の行を抽出します。次に、メイン クエリ (t) は、「ID」および「NAME」フィールドでこのサブクエリと結合して、更新する行を識別します。その結果、空の「VALUE」セルには、同じ「NAME」値を持つ空ではない行からの対応する値が入力されます。

以上が同じ名前を共有する行のデータを使用してテーブル内の NULL 値を更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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