dポイントプレゼントキャンペーン実施中!

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

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

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

よろしくお願いします。

A 回答 (4件)

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



SELECT ISNULL(NULLIF(電話番号,''),NULLIF(携帯電話番号,''))
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/02/04 15:36

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



COALESCE(電話番号, 携帯電話番号)
    • good
    • 0

no.1です。


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

もっとうまいやり方があるかもしれませんが、


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

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

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