![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Oracle9i Enterprise Edition R2の環境下で
以下のような2つのテーブルをを結合し
[Output]の内容を抽出したいと思っております。
A table (顧客)
****************************************
ID name
A001 Robart
A002 Todd
B table (履歴)
****************************************
ID name Date
B001 A001 08/04/01
B002 A001 09/04/30
B003 A001 09/04/10
B004 A002 09/02/13
B005 A002 09/03/02
[Output]
****************************************
A.name B.ID B.Date
A001 B002 09/04/30
A002 B005 09/03/02
Aテーブル単位にBテーブルの最新日付の
レコードを結合して抽出したいのですが、
MAX関数を使い試行錯誤しているのですが、
うまく行きません。どうか結合方法をご教示ください。
宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
MAXを使った例です。
SELECT A.NAME,B.ID,B.DATE
FROM Atable A
INNER JOIN Btable B ON B.NAME=A.ID
WHERE B.DATE IN
(SELECT MAX(DATE) FROM Btable WHERE NAME=B.NAME)
No.1
- 回答日時:
テーブルBだけでも、それらしき結果は得られるかと思います。
select X.name,X.ID,X.Date
from
(
select name,ID,Date,row_number() over(partition by name order by Date desc) R from B
) X
where R=1
;
テーブルAにあるものだけに限定するのであれば、上記のSQLとテーブルAの内部結合で、
お望みの結果になるかと。
蛇足ですが・・
テーブルAのID,nameとテーブルBのID,nameの使い方が違うので混乱しやすいんじゃないですかね。
それと予約語のDateもカラム名に使うのは良くないです。
(質問用の例題として書いただけだとは思いますけど、念のため)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- MySQL mysqlの結合について教えてください 1 2022/05/19 15:13
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- MySQL 【MySQL】本当に困っています。詳しい方、ご教授よろしくお願いします。 1 2023/06/03 14:18
- その他(データベース) accessについて 2 2022/05/31 16:58
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
SELECTの結果で同一行を複数回...
-
外部結合とor条件混在の記述方法
-
MERGE文を単体テーブルに対して...
-
複数テーブルのMAX値の行データ...
-
COUNTの取得方法(?)について...
-
select insertで複数テーブルか...
-
SET句内で複数の条件を指定して...
-
unionの結果は集計はできないで...
-
oracleの分割delete
-
テーブルの列名をデータとして...
-
1:Nの結合結果として最新日付...
-
マテビューのNOTNULL設定について
-
カレントレコードが無い事を判...
-
ACCESSのクエリで同じSQL文だが...
-
OracleのSQL*PLUSで、デー...
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
ADO VBA 実行時エラー3021
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
select句副問い合わせ 値の個...
-
SELECTの結果で同一行を複数回...
-
固定値を含む結合と複数テーブ...
-
MERGE文を単体テーブルに対して...
-
unionの結果は集計はできないで...
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
複数テーブルのMAX値の行データ...
-
SQL GROUPで件数の一番多いレコ...
-
他のテーブルを参照した値はupd...
-
外部結合とor条件混在の記述方法
-
unionでマージした副問合せを結合
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
副問い合わせのinsert文
-
OracleのSQLについて質問があり...
-
updateの一括実行
おすすめ情報