Я хочу сделать что-то похожее на этого парня:
Максимальное количество подзапросов T-SQL (дата) и объединений
Я должен сделать это с отношением n: m.
Итак, макет:
tbl_Opportunity
tbl_Opportunity_tbl_OpportunityData
tbl_OpportunityData
Итак, как вы видите, существует таблица пересечений, которая связывает возможности с данными о возможностях.
Для каждой возможности есть несколько данных о возможностях. На мой взгляд, мне нужен только список со всеми возможными вариантами и данными из последних данных о возможностях.
Я пробовал что-то вроде этого:
SELECT
dbo.tbl_Opportunity.Id, dbo.tbl_Opportunity.Subject,
dbo.tbl_User.UserName AS Responsible, dbo.tbl_Contact.Name AS Customer,
dbo.tbl_Opportunity.CreationDate, dbo.tbl_Opportunity.ActionDate AS [Planned Closure],
dbo.tbl_OpportunityData.Volume,
dbo.tbl_OpportunityData.ChangeDate, dbo.tbl_OpportunityData.Chance
FROM
dbo.tbl_Opportunity
INNER JOIN
dbo.tbl_User ON dbo.tbl_Opportunity.Creator = dbo.tbl_User.Id
INNER JOIN
dbo.tbl_Contact ON dbo.tbl_Opportunity.Customer = dbo.tbl_Contact.Id
INNER JOIN
dbo.tbl_Opprtnty_tbl_OpprtnityData ON dbo.tbl_Opportunity.Id = dbo.tbl_Opprtnty_tbl_OpprtnityData.Id
INNER JOIN
dbo.tbl_OpportunityData ON dbo.tbl_Opprtnty_tbl_OpprtnityData.Id2 = dbo.tbl_OpportunityData.Id
Проблема в том, что мое представление теперь включает строку для данных каждой возможности, поскольку я не знаю, как отфильтровать, что мне нужны только самые последние данные.
Вы можете мне помочь? мое описание проблемы достаточно ясно?
Заранее спасибо :-)
с наилучшими пожеланиями,
Laurin