У меня есть три таблицы.Избегайте результатов умножения третьей таблицы
Дефект: Главный стол, используемый для хранения обнаруженных дефектов.
FollowUp: Таблица, в которой хранится информация о последующих дефектах.
Defect_Attach: Связанная таблица использовала все вложения фотографий для Дефектов и FollowUps.
Как я могу получить дату для всех вложений фото?
Некоторые из этих фотографий были взяты за дефект, а затем более поздние даты были связаны с дефектом во время наблюдения.
Результаты, которые я пытаюсь получить будет выглядеть примерно так:
или
До сих пор мой запрос выглядит следующим образом:
SELECT d.GUID
,p.ATTACHMENTID
,p.REL_OBJECTID
,p.CONTENT_TYPE
,p.ATT_NAME
,p.DATA_SIZE
,d.DateObserved as 'Defect Date'
--,f.DateObserved as 'FollowUp Date'
FROM [ECIMUSR].[DEFECT__ATTACH] p
LEFT OUTER JOIN ECIMUSR.DEFECT d on d.ObjectID = p.REL_OBJECTID
--LEFT JOIN ECIMUSR.FOLLOWUP f on f.DefectGUID = d.GUID
WHERE
d.GUID = '{E511EA70-F5E5-11E4-8189-6C3BE50ED71F}'
ORDER BY [Defect Date]
Но как только я попробую присоединиться мой третий стол (FOLLOWUP), мои результаты умножаются.
UPDATE: Результаты:
SELECT p.ATT_NAME
,d.DateObserved as 'Defect Date'
--,f.DateObserved as 'FollowUp Date'
FROM [ECIMUSR].[DEFECT__ATTACH] p
LEFT OUTER JOIN ECIMUSR.DEFECT d on d.ObjectID = p.REL_OBJECTID
--LEFT JOIN ECIMUSR.FOLLOWUP f on f.DefectGUID = d.GUID
WHERE
d.GUID = '{E511EA70-F5E5-11E4-8189-6C3BE50ED71F}'
ORDER BY [Defect Date]
Присоединение третьей таблицы:
SELECT p.ATT_NAME
,d.DateObserved as 'Defect Date'
,f.DateObserved as 'FollowUp Date'
FROM [ECIMUSR].[DEFECT__ATTACH] p
LEFT OUTER JOIN ECIMUSR.DEFECT d on d.ObjectID = p.REL_OBJECTID
LEFT JOIN ECIMUSR.FOLLOWUP f on f.DefectGUID = d.GUID
WHERE
d.GUID = '{E511EA70-F5E5-11E4-8189-6C3BE50ED71F}'
ORDER BY [Defect Date]
Какая у вас СУБД? И какие результаты вы получаете в настоящее время (я не уверен, что именно вы подразумеваете под «multiply») – Siyual
У вас есть несколько строк в Followup для каждой фотографии? – Andrew
Если у одного дефекта может быть несколько наблюдений, что вы хотите присоединиться к существующему запросу? Самое последнее наблюдение? Первое продолжение? Или некоторые сводные статистические данные, такие как количество наблюдений, дата первого, дата последнего и т. Д. – MatBailie