SELECT COUNTした結果が、1以外の場合UPDATEするというSQL文を作りたいのです。
以下のようにしましたが、うまくできません。(更新対象行がありませんのエラーになります。更新対象行がない場合はUPDATEしないようにしたいです。)
よろしくお願いします。
update tab_a
set col_a = 1
where
1 <> (select count(*)
from tab_a, tab_b
where tab_a.id = tab_b.id and
tab_a.err = 1)
update tab_a
set col_a = 1
where
1 < (select count(*)
from tab_a, tab_b
where tab_a.id = tab_b.id and
tab_a.err = 1)
1以外ではなく 1より大きい としたらどうでしょう?
0件の場合は UPDATEできないでしょう。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | きゃづみぃ | 13539回 | 10064回 | 1198回 | 2007-10-16 18:35:58 |
早速のご回答ありがとうございます。
>1以外ではなく 1より大きい としたらどうでしょう?
>0件の場合は UPDATEできないでしょう。
確かにそうですね。
…しかし、仕様では1以外ならあるカラムを更新するだったと思いますので、もう一度仕様を確認します。