- ベストアンサー
データベースのクエリについて教えてください。
データベースのクエリについて教えてください。 電話番号カラムと携帯電話番号カラムが定義してあります。 どちらかのカラムにはデータが入っていて、その片方のカラムは空となっている場合、 電話番号か携帯電話番号の、どちらか空ではないデータのみを取り出したいのですが、 どのようなクエリにしたらよいでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
これがSQL Serverの質問で、要は「有効なデータを取出したい」という意味でしたら、以下のようにやればよいでしょう。 SELECT ISNULL(NULLIF(電話番号,''),NULLIF(携帯電話番号,''))
その他の回答 (3)
- dda167
- ベストアンサー率76% (55/72)
回答No.4
SQL ServerでもCOALESCE関数が使えるのではないですか? COALESCE(電話番号, 携帯電話番号)
- root_16
- ベストアンサー率32% (674/2096)
回答No.2
no.1です。 抜けてましたが、最後は抽出したデータを使って 電話番号と携帯電話番号の文字列を CONCAT関数で結合して下さい。
- root_16
- ベストアンサー率32% (674/2096)
回答No.1
もっとうまいやり方があるかもしれませんが、 すぐ思いつくのは 電話番号が空かどうか判定するカラムF1(空のとき0、そうでないとき1) 携帯電話番号が空かどうか判定するカラムF2(空のとき0、そうでないとき1) 判定用カラムF3 (F1×10+F2) F3の組み合わせは 00:どちらも無い 01:携帯電話番号だけ有る 10:電話番号だけ有る 11:どちらも有る になるので、F3=01(実際は1)と10の場合を抽出すれば いいような気がします。
お礼
先日、お教えいただいた方法を試しまして、この方法が自分にバッチリでした。 ありがとうございました。