изменить запрос в доступе - PullRequest
       18

изменить запрос в доступе

0 голосов
/ 08 октября 2009

У меня есть запрос, который дает результат, подобный этому

field1  field2  field3  field4  field5
23      gfhf    ghjj       5        49
23      ghf     jkll       6        45
67      bnvn    nmb        7        45
89      gfh     hjj        8        78
89      gfhg    hk         9        23

Здесь первые 2 и последние 2 записи примерно одинаковы. Я хочу только один на основе поля 4 и поля 5. т.е. в зависимости от того, какое значение имеет минимальное значение в поле 4 и максимальное в поле 5.

Я хочу следующий результат

field1  field2  field3  field4  field5
23      gfhf    ghjj       5        49
67      bnvn    nmb        7        45
89      gfh     hjj        8        78

Спасибо

Ответы [ 2 ]

2 голосов
/ 08 октября 2009

Сначала установите минимальное значение для поля 4 и максимальное значение для поля 5, которое вы хотите связать с полем 1.

SELECT field1, Min(field4) AS MinField4, Max(field5) AS MaxField5
FROM Table1
GROUP BY field1;

Сохраните этот запрос как, скажем, Query1, затем присоедините его обратно к Table1, чтобы получить значения для field2 и field 3.

SELECT Query1.field1, Table1.field2, Table1.field3, Query1.MinField4,
       Query1.MaxField5
FROM   Query1 INNER JOIN Table1 ON (Query1.field1 = Table1.field1) AND
       (Query1.MinField4 = Table1.field4) AND
       (Query1.MaxField5 = Table1.field5);
0 голосов
/ 08 октября 2009

Для правильного оформления заказа вам необходимо создать новый запрос, который будет принимать входные данные в качестве существующего запроса.

Для простоты настройте текущий запрос так, чтобы результаты упорядочивались так, как вы хотите, с полем4 Ascending, а затем полем5 Descending

Создать новый запрос, выбрав все значения из существующего запроса

В конструкторе этого нового запроса щелкните правой кнопкой мыши и добавьте итоги. Выберите Group By для field1, а затем First для всех остальных

Это должно делать то, что вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...