Запрос на максимальную дату

Здравствуйте! помогите пожалуйста. Пишу запрос где соединяются несколько таблиц. если есть несколько записей с одним полем то выбираем по последней дате. как это можно сделать?

SELECT date_post,pe_state.pe, cds_object.gos_num_ts, park.name , controller.imei , sim.n_sim , sim.tel_num , sim.pin , controller_type.name_type , model_ts.name
FROM pe_state 
JOIN pe_controller ON pe_controller.id_pe_state = pe_state.id_pe_state
JOIN park ON park.id_park = pe_state.id_park
JOIN controller ON controller.id_controller=pe_controller.id_controller
JOIN controller_type ON controller_type.id_type = controller.id_type
JOIN cds_object ON pe_state.id_cds_object = cds_object.id_cds_object
JOIN model_ts ON model_ts.id_model_ts = cds_object.id_model_ts
JOIN sim_controller ON sim_controller.id_controller= pe_controller.id_controller
JOIN sim ON sim.id_sim= sim_controller.id_sim
WHERE date_post = (SELECT max(date_post) FROM controller );

дата - date_post, поле pe может повторяться.

Спасибо заранее за помощь!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Доброго дня, а какие критерии

Изображение Игорь

Доброго дня, а какие критерии выборки еще есть?

если есть несколько записей с одним полем то выбираем по последней дате. как это можно сделать?

А какие еще критерии выборки? В вашем запросе уже выборка по крайней дате используется и, если отобрано несколько записей, то какие еще притензии к дате?

Маленькие советы: 1. Когда

Маленькие советы:
1. Когда выкладываете запрос, оформляйте его так, чтобы его было удобно читать. Я вставил переносы строк и стало намного наглядней.
2. Сокращайте длинные имена таблиц, используя алиасы. Это снова повышает удобство чтения и разбора запроса, Например:

FROM pe_state PES
JOIN pe_controller PEC ON PEC.id_pe_state = PES.id_pe_state

3. Соединять такое количество таблиц иногда действительно требуется, но в большинстве случаев это очень плохая практика. Такие запросы будут крайне тяжёлыми и долгими и спасибо вам за них никто не скажет. Возможно будет правильней разбить этот большой запрос на несколько мелких или переработать структуру БД.

А по вашему вопросу, запрос у вас есть, что не работает?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023