- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL初心者です。)
SQL初心者のためのTable1とTable2のデータ修正SQL
このQ&Aのポイント
- SQL初心者の方に向けたTable1とTable2のデータ修正に関するSQLをご紹介します。Col1が重複していない場合と重複している場合の修正方法を解説します。
- Table1とTable2のデータ修正には、Col1が重複しているかどうかによってSQLが異なります。Col1が重複していない場合は、単純なUPDATE文で修正できますが、重複している場合はサブクエリを使用して修正する必要があります。
- Col1が重複していない場合の修正SQLは、Table2のData1とTable1のCol1が一致する行のCol2を取得し、Data2にセットするというものです。一方、Col1が重複している場合の修正SQLは、Col1の重複結果の1行目のCol2を取得してData2にセットするというものです。これらのSQLを組み合わせることで、Table2のデータを修正することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>※Col1に重複がある場合、重複結果の1行目のレコードをData2に入れる の「1行目」の定義がハッキリ書かれていませんが、 例を見ると一番小さな値ということでいいのでしょうか。 それなら単純に、 UPDATE Table2 T2 SET Data2 = (SELECT MIN(T1.Col2) FROM Table1 T1 WHERE T1.Col1 = T2.Data1); でいいのではないでしょうか。 ただ、このSQLだとTable1にTable2のData1と一致するデータがない場合は NULLに更新されてしまうので気を付けてください。 もし、そういうデータが存在するのであれば UPDATE文のWHERE句にEXISTS条件を書くようにしてください。