Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сформулировать запрос по остаткам на заданный момент времени / 2 сообщений из 2, страница 1 из 1
08.10.2015, 06:14:54
    #39071416
svnvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформулировать запрос по остаткам на заданный момент времени
Есть таблица остатков на складе, сохраняющая значения веса и момент времени, когда происходила отгрузка или погрузка части груза в партию.
Поле cargo_card_id - означает партию груза, remains_time - момент времени, когда вес в партии менялся.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE `cargo_remains` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `cargo_card_id` int(11) unsigned NOT NULL,
  `weight_netto_remains` decimal(11,4) DEFAULT NULL,
  `weight_brutto_remains` decimal(11,4) DEFAULT NULL,
  `cargo_places_remains` int(11) DEFAULT NULL,
  `remains_time` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `cargo_card_id` (`cargo_card_id`),
  CONSTRAINT `cargo_remains_fk1` FOREIGN KEY (`cargo_card_id`) REFERENCES `cargo_card` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0;


Необходимо составить запрос, выдающий остатки в каждой партии на заданную дату.
Например, если в партии cargo_card_id=3 груз забирался две недели назад, неделю назад и сегодня, то остаток на вчерашнюю дату должен показать значение, соответствующее записи недельной давности, и не показывать запись двухнедельной давности.
Для одной партии запрос будет выглядеть так:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT *
FROM cargo_remains
WHERE remains_time < :remains_time
AND cargo_card_id = :cargo_card_id
ORDER BY remains_time DESC
LIMIT 1


Но как сделать запрос, чтобы он выдавал аналогичный ответ по всем партиям?
...
Рейтинг: 0 / 0
08.10.2015, 06:32:11
    #39071423
Сформулировать запрос по остаткам на заданный момент времени
svnvlad,

R.T.F.F. - FAQ: Выборка первой/последней записи в группах.

Первым делом фильтруешь данные по дате, далее - выбираешь из групп последние (по дате) записи.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сформулировать запрос по остаткам на заданный момент времени / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]