Новости
Документация
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



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

...и он нормально отработал

Но насколько мне известно, в выбираемые поля запросов с группировками можно подставлять только те поля, по которым сделана группировка, статистические функции и константы. Вот и меня это и беспокоит. Мне может кто-то объяснить данный феномен или подсказать решение задачи без нарушений принципов построения запросов в реляционных БД?


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

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

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



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