SQL Server 2008データベースで作業しています。このデータベースには2つのテーブルがあります。SQLのUPDATEステートメントでIFステートメントを組み合わせる
Book
ID
BookCategoryID
Name
IsFlagged
BookCategory
ID
Name
IsFlagged
私は、カテゴリ内のすべてのブックにフラグが設定されている場合、BookCategoryレコードのIsFlaggedプロパティがtrueに設定されているようにBookCategoryテーブルを更新する必要があります。それ以外の場合、フラグが設定されているカテゴリに書籍がない場合は、BookCategoryレコードのIsFlaggedプロパティをfalseに設定する必要があります。これを行う方法はありますか?私はそれを把握していないようだ。私は次のようなことをしようとしていたが、行き詰まっていた。すべてのカテゴリでブックをフラグを立てために好奇心のうち
UPDATE
BookCategory
SET
IsFlagged = (SELECT COUNT(*) FROM Book WHERE [IsFlagged]=1 AND [BookCategory]=?)
、それは一度更新してしまうと、このアップデート各BookCategoryレコードをでしょうか?同じBookCategoryを複数回更新するIE – msmucker0527
おそらく、これはSQL Server固有の構文であることを示す必要があります。私は他のRDBMSが 'UPDATE ... FROM'をサポートしているとは思わないが、私は肯定的ではない。 – JNK
@JNKあなたが正しいです、私は他のRBDMSがそれをサポートしているとは思わない...しかし、OPは質問でSQL Serverを指定しました... –