こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

データベースのクエリについて教えてください。

データベースのクエリについて教えてください。

電話番号カラムと携帯電話番号カラムが定義してあります。

どちらかのカラムにはデータが入っていて、その片方のカラムは空となっている場合、
電話番号か携帯電話番号の、どちらか空ではないデータのみを取り出したいのですが、
どのようなクエリにしたらよいでしょうか?

よろしくお願いします。

投稿日時 - 2010-01-19 11:07:25

QNo.5604866

困ってます

質問者が選んだベストアンサー

これがSQL Serverの質問で、要は「有効なデータを取出したい」という意味でしたら、以下のようにやればよいでしょう。

SELECT ISNULL(NULLIF(電話番号,''),NULLIF(携帯電話番号,''))

投稿日時 - 2010-01-19 11:50:48

お礼

先日、お教えいただいた方法を試しまして、この方法が自分にバッチリでした。
ありがとうございました。

投稿日時 - 2010-02-04 15:36:19

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

SQL ServerでもCOALESCE関数が使えるのではないですか?

COALESCE(電話番号, 携帯電話番号)

投稿日時 - 2010-01-19 13:59:52

ANo.2

no.1です。
抜けてましたが、最後は抽出したデータを使って
電話番号と携帯電話番号の文字列を
CONCAT関数で結合して下さい。

投稿日時 - 2010-01-19 11:34:27

ANo.1

もっとうまいやり方があるかもしれませんが、
すぐ思いつくのは
電話番号が空かどうか判定するカラムF1(空のとき0、そうでないとき1)
携帯電話番号が空かどうか判定するカラムF2(空のとき0、そうでないとき1)
判定用カラムF3
(F1×10+F2)
F3の組み合わせは
00:どちらも無い
01:携帯電話番号だけ有る
10:電話番号だけ有る
11:どちらも有る
になるので、F3=01(実際は1)と10の場合を抽出すれば
いいような気がします。

投稿日時 - 2010-01-19 11:17:25

あなたにオススメの質問