次のようなテーブルがあるとします。
col_1 | col_2
x | y
null | y
a | b
クエリで nullcol_1
をx
ifに変更することはできますか?y = y
私はSQLでこれをやろうとしています。CASE 句を使用する必要があると思いますが、これについてどうすればよいかわかりません。
テーブル自体との自己結合を適用し、一致するものが見つかった場合は行を更新する必要があります。
update tablename set
cp.col_1 = pp.Col_1
from tablename cp,
tablename pp where
cp.col_1 = null and
cp.col_2 = pp.col_2
これでうまくいくはずです
UPDATE MyTable x1
set col_1 =
(SELECT col_1
FROM MyTable x2
WHERE x2.col_2 = x1.col_2 AND x2.col_1 IS NOT NULL
AND rownum = 1)
WHERE x1.col_1 IS NULL
あなたはそれを行うことができますが、nullでない場合のx値は同じy値に対して同じでなければなりません
パフォーマンスは遅いですが、単に機能しています