Ich habe zwei Tabellen Person
und Salary
.LEFT OUTER JOIN (AUSWAHL * AUS TABELLE) ist das möglich?
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
Was ich zu tun versuche, ist, wenn eine Person eine Gehaltssatz hat, dann sollte es die aktuellen Gehaltsinformationen in den Ergebnissen angezeigt werden, Wenn kein Lohndatensatz vorhanden ist, sollte die Gehaltsinformation als Null angezeigt werden. Dies ist wie folgt:
Result
------------------------------------------------------------------------
PersonId | Name | Surname | Date | Salary
1 John Deer NULL NULL
2 Mark Bear 2013-01-01 00:00:00.000 100
Ich weiß es, so etwas sein, hat aber mit einem Mangel an Wissen kann ich einfach nicht erreichen ..
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
Sie sind fast da - jetzt, dass Sie Ihre JOIN eingerichtet haben, ist alles, was fehlt ein "...) SL ON P.PersonId = SL.PersonId" ** Join Bedingung **, um diese beiden Sätze zu verknüpfen Daten zusammen –