プロが教える店舗&オフィスのセキュリティ対策術

テーブル内にあるカラム項目は
項目a、項目b、項目c
です。
select
テーブル名.項目
form
・・・・

のときに、この項目の部分に、項目a、項目b、項目c の順で見ていって、最初に値を持っていた項目の値をセットする、
としたいときのやり方がわかりません。関数があるのかなと探したけどそれらしいものが見当たりません。
ご助言いただくと助かります。宜しくお願いします。

A 回答 (1件)

select if( isnull(項目a)


, if( isnull(項目b)
, if( isnull(項目c)
, null
, 項目c
)
, 項目b
)
, 項目a)
from テーブル名;

ifとかiifとかwhenとかでselect時に分岐して取ればOKです。
※分岐命令や関数の書き方はDBMSによって異なります。
    • good
    • 0
この回答へのお礼

ご意見を参考に以下の通りしてみたら動きました。
かなり助かりました。ありがとうございました。

(case
when テーブル名.項目a <> 0 then テーブル名.項目a
when テーブル名.項目b <> 0 then テーブル名.項目a
when テーブル名.項目c <> 0 then テーブル名.項目c
else 0 end
)

お礼日時:2005/12/08 15:49

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