私は2つのテーブルPerson
とSalary
.
Person
:
PersonId | Name | Surname
--------------------------------
1 John Deer
2 Mark Bear
Salary
:
SId | PersonId | Date | Salary
----------------------------------------------------
1 2 2013-01-01 00:00:00.000 100
2 2 2012-01-01 00:00:00.000 90
3 2 2011-01-01 00:00:00.000 80
私がやろうとしているのは、人が給与レコードを持っている場合、結果に最新の給与情報を表示する必要があり、給与レコードがない場合、給与情報をnullとして表示する必要があるということです...
Result
------------------------------------------------------------------------
PersonId | Name | Surname | Date | Salary
1 John Deer NULL NULL
2 Mark Bear 2013-01-01 00:00:00.000 100
このようなものでなければならないことはわかっていますが、知識が不足しているため、達成できませんでした..
SELECT
P.PersonId, P.Name, P.Surname, SL.Date, SL.Salary
FROM
PERSON P
LEFT OUTER JOIN
(SELECT TOP 1 S.PersonId, S.Date, S.Salary
FROM Salary
WHERE S.PersonId = P.PersonId ORDER BY Date DESC) SL