Запрос с DISTINCT, возвращающий повторяющиеся результаты - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь создать слияние меток в Word, используя VBA для извлечения данных через ODBC. Тем не менее, несмотря на использование DISTINCT, я получаю дублирующиеся значения (таким образом дублирующиеся метки). Все выбранные поля должны быть уникальными, я не пытаюсь фильтровать одно поле. Я довольно зеленый с SQL, что я здесь пропустил? Если я открываю список получателей в Word, он говорит, что есть дубликаты.

SELECT DISTINCT o.NamFullName, e.LocHolderName, e.EADUnitTitle 
FROM ecatalog.csv AS e 
INNER JOIN EADOrigi.csv AS o ON e.ecatalogue_key = o.ecatalogue_key

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Как ни странно, это, кажется, разрешилось само собой и возвращает именно то, что должно быть. Я подозреваю, что это больше связано с Word и VBA, чем с SQL. Извинения тем, кто потратил время на ответы.

0 голосов
/ 16 мая 2019

Скорее всего, возвращаются повторяющиеся строки. Возможно, вы сможете использовать CTE. Пример:

;WITH catCTE([ecatalogue_key], 
            [LocHolderName], 
            [EADUnitTitle])
     AS (SELECT DISTINCT 
                [Ecatalogue_key], 
                [LOCHOLDERNAME], 
                [EADUNITTITLE]
         FROM   [ecatalog].[csv]),
     eadCTE([NamFullName])
     AS (SELECT DISTINCT 
                [ecatalogue_key], 
                [namfullname]
         FROM   [EADOrigi].[csv])
     SELECT [o].[NamFullName], 
            [e].[LocHolderName], 
            [e].[EADUnitTitle]
     FROM   [catCTE] AS [e]
            JOIN [eadCTE] AS [o] ON [e].[ecatalogue_key] = [o].[ecatalogue_key];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...