人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLで困っています。教えてください。

問題を簡単化して説明します。下記の二つテーブルがあります。

Tablle1のフィールド (*)はキーフィールド

T1F1(*) T1F2 T1F3

Table2のフィールド

T2F1(*) T2F2

次のようなselect文を発行します。

select ..... from Table1 , Table2
where T1F1=”...” and T1F3=T2F1

通常は、これでうまくいきます。

しかしT1F3がnullの場合があり、そのときはselectされません。
この場合に、Table2のフィールドをnullで戻してselectを成立させたい。

table1だけでselectを行い、その結果に応じてtable2を見れば、できることは
分かりますが、ひとつのSQLで行いたいのです。

outer joinでは不可でした。
#もともとselect結果が0件なので当たり前か..。

何か良い方法がありましたらお願いします。
不可ならば、そうと教えてください。

●質問者: gzmgzm
●カテゴリ:コンピュータ
✍キーワード:Outer SELECT SQL ひとつ フィールド
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Dandan
●10ポイント

http://www.google.co.jp/

Google

外部結合になります。次のSQLはどうですか。

select * from Tablle1 left join Table2 on Tablle1.T1F3 = Table2.T2F1

where Tablle1.T1F1 = ’...’

◎質問者からの返答

ありがとうございました。

これはやりました。


2 ● oh_tsu
●20ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj04_1.htm

SQL 表結合(join) - 単純結合、等価結合、非等価結合、外部結合、再帰結合 - SAK Streets

真ん中あたりにある

■外部結合(外結合、行結合、行連結、テーブル結合、外部接合)

を参照にしてください。

http://allabout.co.jp/career/database/closeup/CU20020607/?FM=cuk...

指定されたファイルが見つかりませんでした - All About

他にも1

http://www.rfs.jp/sitebuilder/sql/04/03_4.html

他にも2

◎質問者からの返答

ありがとうございます。

これから見てみます。


3 ● zetaplus
●20ポイント

http://www.hatena.ne.jp/1107959024#

人力検索はてな - SQLで困っています。教えてください。 問題を簡単化して説明します。下記の二つテーブルがあります。 Tablle1のフィールド (*)はキーフィールド T1F1(*) T1F2 T1F3 Table2..

URLはダミーです。

以下のようなSQLでいかがでしょうか?

select

t1f1

, t1f2

, t1f3

, t2f1

, t2f2

from

table2

, table1

where

t1f1 = ’...’

and(t1f3 is not null

and t1f3 = t2f1)

union all

select

t1f1

, t1f2

, t1f3

, ’’ as t2f1

, ’’ as t2f2

from

table1

where

t1f1 = ”...”

andt1f3 is null

;

◎質問者からの返答

ありがとうございます。


4 ● esseesse
●20ポイント

http://www.db2.jp/siryo/db2online/db2s0/frame3.htm#db2s0278

IBM DB2 Developer Domain - Japan

DBMSの種類やバージョンにより実装されていない場合もありますが、FULL OUTER JOINではだめでしょうか。

SELECT ... FROM Table1 FULL OUTER JOIN Table2 ON Table1.F3 = Table2.F1 WHERE Table1.F1=”...”;

確認した限りだと、

・Oracleでは8i以前は×(9以降は○)

・MySQLは×(5.1以降で実装予定)

・PostgreSQLの7.1以降は○(それ以前は未調査)

でした。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ