Per prima cosa stavo cercando qualcosa che non mi desse colonne null con join sinistro, quindi ho usato,
coalesce(TableC.SomeColumn, -1) As SomeColumnHeHe
Poi mi sono imbattuto in un problema in cui dovevo selezionare solo il primo 1 dal join sinistro, quindi ho usato APPLICAZIONE ESTERNA, come mostrato di seguito,
SELECT Top(1)
TableA.*,
TableB.*,
someFunction(TableA.ID),
coalesce(TableC.someColumn, -1) As SomeColumnExample,
TempTable.IDA
FROM
TableA INNER JOIN TableB ON TableA.ID = TableB.IDA
OUTER APPLY
(SELECT TOP(1) * FROM TableC where TableC.IDA = TableA.IDA Order By DateAdded Desc ) As TempTable
Where TableA.ID = @ParaID
Order By TableC.DateTime Desc