Мой сотрудник попросил меня о помощи в запросе в MS Access, который объединяет три таблицы. Я подтвердил, что порядок и внутренний/внешний статус JOIN
- это то, что хочет мой коллега. (У них есть три таблицы, A, B и C, они нужны все записи из таблицы B плюс совпадающие записи из A и C.)Удаление дублированных записей из JOIN в MS Access
The (дезинфицировать) запрос является:
SELECT B.ID, B.Date from (A RIGHT JOIN B on A.ID = B.ID) LEFT JOIN C on B.ID = C.ID
GROUP BY B.ID, B.Date
Это возвращает правильное количество строк (около 16000). Однако, когда я изменяю выбирать и группировать пункты в
SELECT B.ID, B.Date, A.Time ...
GROUP BY B.ID, B.Date, A.Time
то запрос возвращает дубликат записи (отсчет записи о 19000). Как улучшить запрос для устранения дубликатов?
This Stack Overflow answer помогли мне выяснить положение GROUP BY
для таблицы B. Я попытался оговорку как только GROUP BY B.ID
, но получил сообщение об ошибке, что я не сделал какой-либо агрегации с B.Date
.
Покажите нам, что вы имеете в виду подвалов? Потому что обычный второй запрос имеет больше записей. Теперь у вас ['d, date]' split into diferent '[time]' –
. Как бы мы ни говорили, результат имеет записи с одинаковыми данными. Я проверю дважды, чтобы подтвердить, что записи идентичны. –