|
MySQL.RU - Webboard
Вернуться
Помогите составить сложный запрос (Андрей) 11/04/2009 - 15:53:15
Re: Помогите составить сложный запрос (Андрей) 11/04/2009 - 16:03:50
Re: Помогите составить сложный запрос (Diter) 13/04/2009 - 05:52:34
Re: Помогите составить сложный запрос (Андрей) 13/04/2009 - 08:32:45
> Original message text:
> From: Андрей - 11/04/2009 - 15:53:15
> Subject:Помогите составить сложный запрос
> -----------------
> Имеется таблица produces_cost (стоимость продукции) с полями:
> - ID int(11)
> - Produce_Type enum('d', 'm', 's')
> - ID_Produce int(11)
> - Start_Date date
> - End_Date date
> - Cost double
> Т.е. цена на продукцию меняется от периода к периоду.
> Produce_Type определяет тип продукции, разные типы хранятся в разных таблицах, и ID_Produce ссылается на ID записей в этих таблицах. Cost - стоимость продукции.
>
> Необходимо выбрать для продукции с номером (ID) N типа 'm' её актуальную (последнюю) стоимость, т.е. когда Start_Date для этой продукции максимален (другими словами, определить её по последнему периоду)
>
> Подскажите, как это сделать...
>
From: Андрей - 11/04/2009 - 16:03:50
Subject:Помогите составить сложный запрос
-----------------
Написал так:
SELECT Cost
FROM produces_cost
WHERE Produce_Type = 'm'
AND ID_Produce = 1
AND Start_Date = (SELECT MAX(Start_Date) FROM produces_cost WHERE Produce_Type = 'm' AND ID_Produce = 1)
Работает, только громоздко получается. Может быть есть более оптимальный вариант?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35361
|
|