Access- "Присоединение выражения не поддерживается" - PullRequest
1 голос
/ 16 декабря 2011

У меня есть запрос в MySQL, который возвращает три столбца, идентификатор кандидата, дату, с которой они связались, и кем.Я пытаюсь написать запрос, который возвращает ТОЛЬКО самый последний раз, когда с ними связались, вместе с их идентификатором и кем.

SELECT e.ID,
    ByWho,
    Date
FROM ContactSummaries e
JOIN(SELECT ID,
        MAX(Date) AS LastContact
    FROM ContactSummaries
    GROUP BY
        ID) lu
  ON (e.ID = lu.ID AND e.Date = lu.LastContact)

Итак, это прекрасно работает в SQL Server Management Studio.Когда я вставляю его в Access, чтобы создать симпатичный маленький отчет, он жалуется на «Неполное предложение запроса».

Затем я попробовал это:

 SELECT
 ID,
 ByWhom,
 Date
 FROM( ContactSummaries AS [e]
 INNER JOIN
 SELECT ID,
 MAX(Date) AS LastContacted,
 ByWhom
 FROM ContactSummaries
 ON 
 ID, 
 MAX(Date) AS LastContacted,
 FROM ContactSummaries
 GROUP BY ID)
 AS [l]
 ON
 [e].ID = [l].ID,
 AND [e].Date = [l].LastContacted;

«Выражение соединения не поддерживается».Я недостаточно хорошо знаю SQL (или особенно Access), чтобы понять, что я делаю неправильно, похоже, они соответствуют их примерам на веб-сайте Microsoft.

1 Ответ

2 голосов
/ 16 декабря 2011

Вы не можете использовать само соединение в Access. Также обратите внимание, что Дата является зарезервированным словом. Я думаю, что вы хотите

SELECT e.ID,
    ByWho,
    [Date]
FROM ContactSummaries e
inner join (SELECT ID,
        MAX([Date]) AS LastContact
    FROM ContactSummaries
    GROUP BY
        ID) lu
  ON (e.ID = lu.ID AND e.Date = lu.LastContact)
...