Вниз  MySQL и мелкие вопросы
- 11.01.2017 / 16:09copy  #480117
Koenig
  Супермодератор

 
Сейчас: Offline
vl@volk, :gg: stackoverflow
__________________
 Магистр Мёда
- Вчера, 23:00copy  #481115
OLEKMAY
  Пользователь

OLEKMAY 
Сейчас: Offline
Привет всем! Подскажите пожалуйста как можно реализовать запрос на выборку.. написал вот такое:
  1. SELECT d1.MidPointValue AS v1, d2.MidPointValue AS v2 FROM RiskDriver_History AS d1, RiskDriver_History AS d2 WHERE (d2.id = (SELECT `id` FROM `RiskDriver_History` WHERE Year = d1.Year AND RiskDriverId = '5' AND DATE(Date)>='1990-01-31' ORDER BY `id` DESC LIMIT 1) AND d1.RiskDriverId = '19' AND DATE(d1.Date)>='1990-01-31') GROUP BY d1.Year ORDER BY d1.Year ASC
Запрос выбирает два значения с таблицы RiskDriver_History, в которых поля RiskDriverId совпадают с двумя указанными id (в данном случае 5 и 19), а так же у которых совпадает год.. впринципе данный запрос успешно работает, но есть одно небольшое НО: мне необходимо выбрать первое значение, тоесть v1 с максимальным id, но ORDER BY d1.id не работает из-за GROUP BY d1.Year.. (для каждого года выбирается уникальное значение, а если добавить id, то начинает выбирать несколько значений для каждого года).. как-то так.. помогите как то упростить данный запрос, а то как по мне то это куча бреда, а упростить не могу. Такая ситуация возникла из-за того что запрос я переписываю с макросов Excel, а там данные значения выбирались в два этапа: сначала была сохраненная выборка данных в Access, а потом к ней отправлялся запрос на выборку из нее
Наверх  Всего сообщений: 722
Фильтровать сообщения
Поиск по теме
Файлы топика (22)
Поиск по форуму
Новые вверху
  © aNNiMON (Melnik Software)
Онлайн: 31 (2/29)
 
Яндекс.Метрика