Helgsw |
Есть две таблицы: В первой информация о ветеранах, во второй об их родственниках
Нужно что бы в результате запроса в таблице оказались все ветераны, плюс телефон одного из родственников
вот этот запрос приводит к дублированию ветеранов у которых родственников больше одного, как этого избежать?
SELECT [БД - Общая].*, [БД - Родственники].СотовыйТелефон FROM [БД - Общая] LEFT JOIN [БД - Родственники] ON [БД - Общая].[Код Ветерана] = [БД - Родственники].КодСпискаРассылки ORDER BY [БД - Общая].Фамилия; |
Если я правильно понял задачу и не имеет значение какой из родственников представален в запросе, то можно так, предварительно добавьте ключенвое поле (счетчик для таблицы БД - Родственники])
SELECT
[БД - Общая].*,
[БД].СотовыйТелефон
FROM [БД - Общая]
LEFT JOIN
(SELECT [БД - Родственники].СотовыйТелефон,[БД - Родственники].КодСпискаРассылки FROM [БД - Родственники] WHERE [БД - Родственники].[PKAutonumber] IN
(SELECT MAX([БД - Родственники].[PKAutonumber]) FROM [БД - Родственники] GROUP BY [БД - Родственники].КодСпискаРассылки )) AS [БД] ON [БД - Общая].[Код Ветерана] = [БД].КодСпискаРассылки