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

Koenig 
Сейчас: Offline
vl@volk, :gg: stackoverflow
__________________
 Магистр Мёда
- 24.01.2017 / 23:00
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, а потом к ней отправлялся запрос на выборку из нее
- 25.01.2017 / 02:50
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
OLEKMAY, а сколько строк возвращает запрос? если нужна первая, поставь лимит
__________________
 Магистр Мёда
- 25.01.2017 / 02:53
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
ну и группировать или сортировать можно не только по одному полю
__________________
 Магистр Мёда
- 25.01.2017 / 09:38
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
OLEKMAY, http://sqlfiddle.com/
Схему БД, несколько тестовых данных и сам запрос туда. Тогда возрастут шансы на ответ.
__________________
 let live
- 23.02.2017 / 10:20
ДубоХирург
  Пользователь

ДубоХирург 
Сейчас: Offline
У меня вопрос по проектированию БД. Пусть у нас есть база врачей, и для них есть некоторое количество диапазонов, например, время, в которое они работают. В каком виде и где лучше хранить такие данные, в таблице с остальными данными врача или в отдельной таблице?
- 23.02.2017 / 10:29
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
ДубоХирург, в зависимости от требуемой степени детализации. Я бы делал в отдельной. Врач может работать не каждый день, у него могут быть ночные дежурства, «рваный» график работы (например, часть утром, часть вечером). Но это не точно. Если отыщу исходники диплома, то могу сказать, как это реализовано в реальной МИС (если там такое вообще есть).
__________________
 don't tread on me
- 23.02.2017 / 12:11
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
ДубоХирург, если график стабильный, то можно обойтись одним полем со значением вида пн-пт 8:00-16:00. Добавлю к aRiGaTo, то что ещё график работы может быть посменный как у охраны (сутки через двое) ну или их комбинации. Поможет только детальное описание процесса работы
__________________
 знает толк
- 27.07.2019 / 08:01
slowproger
  Пользователь

slowproger 
Сейчас: Offline
А я убил базу :-( Что не делай ошибка:
User 'admin' has exceeded the 'max_questions' resource (current value: 150000)
  Она не даёт даже через phpmyadmin зайти. :zloj:
Приключилось это потому,что для теста решил добавить несколько записей,через цикл for.Но потом внутри этого цикла добавил ещё один маленький и забыл переменную поменять на другую.В итоге внутренняя переменная совпав с переменной внешнего цикла,привела к бесконечному добавлению записей.
- 27.07.2019 / 17:31
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
slowproger, антифлуд же. Через время сбросится.
__________________
 let live
Наверх  Всего сообщений: 750
Фильтровать сообщения
Поиск по теме
Файлы топика (22)