У меня есть запрос, который я пытаюсь отфильтровать для отчета. Каждый адресID может иметь несколько заданий, и каждое задание может иметь несколько элементов.Подзапрос для максимальных идентификационных номеров
В основном я пытаюсь получить максимальный идентификатор jobID для каждого идентификатора адреса, но я хочу получить каждый элемент задания.
текущие результаты запроса:
+-----------+-------+--------+ | AddressID | JobID | Cost | +-----------+-------+--------+ | 326 | 328 | £52.50 | | 327 | 329 | £55.13 | | 328 | 330 | £57.88 | | 329 | 331 | £60.78 | | 329 | 331 | £63.81 | | 330 | 332 | £67.00 | | 330 | 332 | £70.36 | | 330 | 332 | £73.87 | | 330 | 332 | £77.57 | | 330 | 333 | £57.75 | | 330 | 333 | £60.64 | | 330 | 333 | £63.67 | | 330 | 333 | £66.85 | | 331 | 334 | £70.20 | | 331 | 334 | £73.71 | | 331 | 335 | £77.39 | | 331 | 336 | £81.26 | | 331 | 336 | £85.32 | | 331 | 336 | £89.59 | +-----------+-------+--------+
И я пытаюсь получить:
+-----------+-------+--------+ | AddressID | JobID | Cost | +-----------+-------+--------+ | 326 | 328 | £52.50 | | 327 | 329 | £55.13 | | 328 | 330 | £57.88 | | 329 | 331 | £60.78 | | 329 | 331 | £63.81 | | 330 | 333 | £57.75 | | 330 | 333 | £60.64 | | 330 | 333 | £63.67 | | 330 | 333 | £66.85 | | 331 | 336 | £81.26 | | 331 | 336 | £85.32 | | 331 | 336 | £89.59 | +-----------+-------+--------+
Я смотрел на SELECT, TOP 1 изолировать MAX JobId, но в конечном итоге ограничивая запросить только 1 запись.
В настоящее время настройки этого подзапрос, но до сих пор не уверен, что я на правильном пути:
(SELECT Max(vusearch.JobID) FROM vuSearch AS T WHERE PAID = vuSearch.AddressID GROUP BY AddressID)
Может кто-нибудь посоветовать?
Спасибо за это Гордон. Будет ли это использоваться в качестве подзапроса в JobID в представлении дизайна? Я получаю сообщение об ошибке «Вы написали подзапрос, который может возвращать более одного поля, не используя зарезервированное слово EXISTS в предложении FROM запроса запроса. Результируйте инструкцию SELECT подзапроса, чтобы запросить только одно поле. –
@GlibGibon. , , Подзапрос, как написано, возвращает одну строку (потому что это запрос агрегации без 'group by') и имеет только одно поле. Эта ошибка не имеет смысла. –
Я проверил и перепроверял. Я использую Access2013. Подзапрос, который я помещаю в раздел критериев поля JobID. Когда я смотрю на представление SQL, код находится в конце запроса (в предложении where). Я помещаю это в нужное место? Объединение в основной запрос не повлияло бы на это, поскольку я рассматриваю только одну таблицу? –