行を更新するときに列ではなく更新クエリで結合を使用する
P粉170438285
P粉170438285 2023-08-02 12:32:01
0
1
569
<p>更新之前(原始示例表):</p> <table class="s-table"> <thead> <tr> <th>document_id</th> <th>meta_key</th> <th>meta_value</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>iban</td> <td>IBAN123456</td> </tr> <tr> <td>1</td> <td>bankaccount</td> <td>ACCT987654</td> </tr> <tr> <td>2</td> <td>iban</td> <td>IBAN555555</td> </tr> <tr> <td>2</td> <td>bankaccount</td> <td>ACCT444444</td> </tr> <tr> <td>3</td> <td>iban</td> <td>IBAN888888</td> </tr> <tr> <td>3</td> <td>bankaccount</td> <td>ACCT333333</td> </tr> </tbody> </table> <p>运行SQL更新查询后:</p> <table class="s-table"> <thead> <tr> <th>document_id</th> <th>meta_key</th> <th>meta_value</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>iban</td> <td>IBAN123456</td> </tr> <tr> <td>1</td> <td>bankaccount</td> <td>IBAN123456</td> </tr> <tr> <td>2</td> <td>iban</td> <td>IBAN555555</td> </tr> <tr> <td>2</td> <td>bankaccount</td> <td>IBAN555555</td> </tr> <tr> <td>3</td> <td>iban</td> <td>IBAN888888</td> </tr> <tr> <td>3</td> <td>bankaccount</td> <td>IBAN888888</td> </tr> </tbody> </table> <p>我需要一个查询来实现上述表格的结果吗?</p>
P粉170438285
P粉170438285

全員に返信(1)
P粉826283529

document_idmeta_key、および meta_value。meta_key がbankaccount である行のmeta_value を、meta_key が iban である行に更新します。対応するメタ値。

次は、この目標を達成するための SQL クエリです:


リーリー

    #p1 テーブルは example_table のエイリアスであり、p2 はサブクエリのエイリアスです。
  1. meta_key が 'iban' の場合、サブクエリは document_id と meta_value を選択します
  2. p1 とサブクエリ p2 の間の document_id を照合するためにメイン クエリ INNER JOIN によって使用されます。
  3. 次に、p1 のメタキーが「bankaccount」であるメタ値を、p2 の iban に更新します。
更新クエリを実行する前に、必ずデータベースをバックアップし、安全な環境でテストしてください。


いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート