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

解決済みの質問

データの無いテーブルと結合してデータ抽出

以下のテーブルを使用してデータを抽出したいのですが、データが抽出できません。


名称テーブル
--------------------
ID | NAME |
--------------------
0   AA
1   BB
2   EE
3   FF

履歴テーブル
--------------------
ID | DAY | OLDNAME
--------------------
2   2004   CC
3   2004   DD

結果取得したいデータ
--------------------
ID | NAME | OLDNAME
--------------------
0   AA

=現在のSQL=
SELECT
A.ID,
A.NAME,
B.OLDNAME
FROM 名称 A , 履歴 B
WHERE
A.ID = B.ID(+) AND
A.ID=0 AND
B.DAY =
 (SELECT MAX(C.DAY)
 FROM 履歴 C
 WHERE
 A.ID = C.ID(+))

履歴テーブルには名称テーブルの履歴があります。
履歴にデータが無くても名称データを取得したいのですが、こういった場合はどのようなSQLを作ればいいのでしょうか。

投稿日時 - 2004-11-04 14:17:11

QNo.1069540

暇なときに回答ください

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

(B.DAY =
 (SELECT MAX(C.DAY)
 FROM 履歴 C
 WHERE
 A.ID = C.ID(+))
or
B.DAY is null)

ってis nullくっつればOKかな?
未確認です。

投稿日時 - 2004-11-04 14:41:46

お礼

早速の回答ありがとうございます。
やってみたらできました。
朝から昼食も取らずに悩んでたのですごく気分がスッキリしました。本当にありがとうございました。

投稿日時 - 2004-11-04 14:48:57

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

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

回答(1)

あなたにオススメの質問