Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Нужен совет для правильно составления запроса (Вячеслав) 26/09/2007 - 11:14:59
      Re: Нужен совет для правильно составления запроса (bac) 26/09/2007 - 13:29:38
      Re: Нужен совет для правильно составления запроса (Вячеслав) 26/09/2007 - 13:45:24
      Re: Нужен совет для правильно составления запроса (Вячеслав) 26/09/2007 - 16:09:03

> Original message text:
> From: Вячеслав - 26/09/2007 - 11:14:59
> Subject:Нужен совет для правильно составления запроса
> -----------------
> Предположим есть таблица в MySQL:
> sklad_id, tovar_id, data, ostatok
>
> В эту таблицу вносятся остатки только в том случае, если в конкретный день на конкретном складе по конкретному товару было движение.
> Т.е. например остаток на "колбасу" на "первом складе" есть за 1 и 5 января, потому что за период с 2 по 4 колбасу на первый склад не привозили и не увозили, таким образом информация не дублируется.
>
> И вот из это таблицы нужно получить остатки всех товаров по всем складам на определенное число. Т.е. нужно получить результат, сгруппированный по складу (skald_id) и товару (tovar_id) с максимальной датой (data), которая не больше, например 4 января (т.е. получить остаток на 4 января).
>
> Я написал следующий запрос, ожидая получить ошибку:
> SELECT max(data), sklad_id, tovar_id, ostatok
> FROM ostatki_na_skladah
> WHERE data<='2007-01-04'
> GROUP BY sklad_id, tovar_id
>
> ...и он нормально отработал
>
> Но насколько мне известно, в выбираемые поля запросов с группировками можно подставлять только те поля, по которым сделана группировка, статистические функции и константы. Вот и меня это и беспокоит. Мне может кто-то объяснить данный феномен или подсказать решение задачи без нарушений принципов построения запросов в реляционных БД?
>


From: Вячеслав - 26/09/2007 - 13:45:24
Subject:Нужен совет для правильно составления запроса
-----------------
Оно так по сути и получается. А записей с одинаковыми идентефикаторами будет много - это однозначно. Мне бы как-то в запросе получать поле остаток, которое справедливо для записи, которая приходится на MAX(data)...


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32229



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |