人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについての質問です。
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)

●質問者: kuri6
●カテゴリ:インターネット ウェブ制作
✍キーワード:SELECT SET SQL エラー 更新
○ 状態 :終了
└ 回答数 : 1/2件

▽最新の回答へ

1 ● きゃづみぃ
●60ポイント

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以外ではなく 1より大きい としたらどうでしょう?

>0件の場合は UPDATEできないでしょう。

確かにそうですね。

…しかし、仕様では1以外ならあるカラムを更新するだったと思いますので、もう一度仕様を確認します。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ