重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

質問があります。

スコア1 スコア2 スコア3 スコア4 スコア5 ボーナス
20     30     30     40    30     1
20     10     30     40    30     0

というような表があったとして、各スコアの合計が一定以上の物を抽出するにはどのようなSQL(where)を書けば良いのでしょうか。

where 150<(スコア1+スコア2+スコア3+スコア4+スコア5)

で良いのでしょうか?
また、ボーナスが1の時はスコア2を倍にして合計としたい場合、

where 150<((case ボーナス=1 then スコア1+スコア1 else スコア1)+スコア2+スコア3+スコア4+スコア5)

とすれば良いのでしょうか?
ご教授願えれば幸いです。

A 回答 (1件)

where 150<(スコア1+スコア2+スコア3+スコア4+スコア5)*IF(ボーナス=1,2,1)



とかでよいのでは?
    • good
    • 0
この回答へのお礼

where 150<(スコア1+スコア2+スコア3+スコア4+スコア5)*IF(ボーナス=1,2,1)

では、ボーナスが1の時スコア1~5の合計値の2倍になってしまいませんか?
スコア1だけを2倍にしたいのですが。。。

お礼日時:2008/12/14 16:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す