2つのテーブルのデータを結合しようとしています。最初の(子)テーブルには、発効日、従業員番号、および支払い額を含むいくつかの支払い情報が含まれています。
emp_no date_earn Amount
456789 03/10/2009 20
456789 18/03/2010 30
456789 17/03/2011 12
456789 16/03/2012 34
もう1つの(マスター)テーブルには、従業員番号、発効日、役職が含まれています。
emp_no effective_date job_title
456789 01/01/2009 Tester
456789 20/05/2010 Manager
456789 01/04/2011 Snr Manager
給与情報テーブルについて報告し、給与情報の発効日にどの役職があったかを表示する必要があります。
emp_no date_earn Amount job_title
456789 03/10/2009 20 Tester
456789 18/03/2010 30 Manager
456789 17/03/2011 12 Manager
456789 16/03/2012 34 Snr Manager
次のような相関クエリを使用してみました。
select p.emp_no, p.date_earn, p.amount,
(select top 1 e.job_title from emp_hist e
where e.emp_no = p.emp_no
and e.effective_date <= p.date_earn ) as JOB_TITLE
from
pay p where p.emp_no = 456789
しかし、上記の例に基づくと、すべての行のジョブテスターが得られます。誰かがこれを手伝ってくれるなら本当にありがたいです。どうもありがとう。