Убедитесь, что вы случайно не сделали здесь декартово произведение:
from Opportunity O, Notes N
Это должно быть только
from Opportunity O
Вы уже ВНУТРЕННИМ присоединенииТаблица Notes позже ....
Так что этот запрос, мы надеемся, не должен возвращать дубликаты:
Select
O.oppo_jobid, O.oppo_status,
cast(N.Note_Note as NCHAR) as Notes
from dbo.Opportunity O
Inner join dbo.Notes on o.Oppo_OpportunityId = Notes.Note_ForeignId
Inner join dbo.Lead on o.Oppo_OpportunityId = Lead.Lead_OpportunityID
Обновление: , если вы хотите только самые последние note
для каждой возможности - используйте этот запрос:
;WITH MostRecent AS
(
SELECT
O.oppo_jobid, O.oppo_status,
cast(N.Note_Note as NCHAR) as Notes,
ROW_NUMBER() OVER (PARTITION BY o.Oppo_OpportunityId
ORDER BY n.Note_DateTimeStamp DESC) AS 'RowNum'
FROM dbo.Opportunity O
INNER JOIN dbo.Notes on o.Oppo_OpportunityId = Notes.Note_ForeignId
)
SELECT *
FROM MostRecent
WHERE RowNum = 1