私は非常に基本的なSQL結合コンセプトについて助けが必要です。結合テーブルからMAX(日付)値を取得する
私は従業員テーブルとポジションテーブルを持っています。従業員テーブルはそうのようなものです:
EmpID Name
1 Jane Jones
2 Bob Smith
3 Jim Adams
位置テーブルは、このようなものです:
EmpID Name Position DateFilled
1 Jane Jones Sales 1/2/2012
2 Bob Smith Sr. Mgmnt 7/5/2015
3 Jim Adams IT Devel. 5/11/2015
だから、他の言葉で、どのように:私は次の出力を得ることができますどのように
PosID EmpID Position DateFilled
1 1 Sales 1/2/2012
2 2 HR 4/5/2013
3 2 Mgmnt 6/1/2014
4 2 Sr. Mgmnt 7/5/2015
5 3 IT Support 4/6/2014
6 3 IT Devel. 5/11/2015
ポジションテーブルのmax DateFilledカラムを持つレコードのみを取得して、従業員テーブルの対応するレコードと結合するにはどうすればよいですか? ご協力いただければ幸いです。
あなたがROW_NUMBER
を使用することができます
を試みるが、私はそのOracleビューを改訂立ち往生しています古いOracleの右結合構文(WHERE e.EmpId = p.EmpID(+))を使用しているため、そのjoのメソッドで作業するには答えが必要ですiningテーブル。 – user3772397
Oracleの '(+)'構文を外部結合に書き換えることは、これまでに何度も尋ねられてきた全く異なる質問です。このサイトで「oracle outer join」を検索してください –