すべてのカテゴリ » インターネット・パソコン » PC製品・周辺機器 » 使い方・不具合

質問

終了

SQL-Server2005で、以下のような結合を実現させたいのですが、どうすれば良いか分からず悩んでいます。ヒントでもいただけると助かります。
○テーブル1
列A,列B,列C
○テーブル2
列A,列B,列D
○結合の条件
両テーブルの列A,列Bが等しいもの
○得たい結果
列A,列B,列C,列D
値1,値2,値3,値4
値5,値6,値7,NULL
値8,値9,NULL,値10

単純にFULL outer joinを使用すると、レコードとしては所望のものが取得出来ているのですが、列A,列Bの表示をいずれかのテーブルを指定しないといけないので、
NULL,NULL,NULL,値1
のようなレコードが取れてしまいます。

  • 質問者:Sooda! ちゃん
  • 質問日時:2009-01-12 13:03:26
  • 0

並び替え:

ISNULL関数を使えばNULLの場合も取れます。
ISNULL(テーブル1列A,'NULLの場合テーブル2列A')

※余計なことですが、
たぶん、テーブル設計がまずい気がします。
会社の先輩などに一度レビューをしていただいた方が後々楽になるかと思います。

この回答の満足度
  
参考になりました。回答ありがとうございました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る