A {
x int,
y int,
z int
}を持つ A というテーブルがあり、
B {
x int
コード文字列、
値文字列}
を持つ別のテーブル B があります
。
B-> コードは 2 つの値を持つことができます: {code1,code2} どちらの値も異なります。
ここで、code ='code1' の場合は y = B.value で、code='code2' の場合は z = B.value で A を更新する必要があります。これを単一のクエリで実行しようとしています。
私は通常の更新を試みました:
しかし、それはyだけを更新しています。Aの行ごとに2行が作成されており、更新が上書きされているためだと思います。私の推論は正しいですか?更新クエリでこれを行う方法はありますか
update A,B
set A.y=if(B.code='code1',B.value,A.y),
A.z=if(B.code='code2',B.value,A,z)
where A.X=B.x .
質問する
107 次