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




MySQL.RU - Webboard



Вернуться
Переформулировать запрос (Андрей) 06/05/2009 - 19:02:14
      Re: Переформулировать запрос (Андрей) 06/05/2009 - 19:05:45
      Re: Переформулировать запрос (Андрей) 06/05/2009 - 19:16:07
      Re: Переформулировать запрос (Алекс) 08/05/2009 - 03:31:15



From: Андрей - 06/05/2009 - 19:02:14
Subject:Переформулировать запрос
-----------------
Есть таблица produces_cost, которая содержит цены на продукцию по периодам. В таблице имеется несколько записей с заполненными полями:
- ID,
- Produce_Type (тип продукции, в данном случае равен 'm' - обозначение того, что тип продукции - материалы),
- ID_Produce (ссылка на запись в таблице materials и др.),
- Start_Date (дата начала периода) и пустыми остальными полями (End_Date, Cost).
Необходимо из записей, у которых Produce_Type = 'm' и ID_Produce = 1 (например), выбрать запись с наибольшим значением Start_Date и для этой записи установить значения незаполненных полей (End_Date, Cost).

Составил SQL-запрос:

UPDATE produces_cost
SET End_Date = '2009-05-05'
AND Cost =6
WHERE Start_Date =
(
SELECT Start_Date
FROM produces_cost
WHERE Produce_Type = 'm'
AND ID_Produce =1
ORDER BY Start_Date DESC
LIMIT 1
)

Ответ MySQL:
#1093 - You can't specify target table 'produces_cost' for update in FROM clause

Нельзя в SELECT использовать обращение к той же таблице, что и в UPDATE.

Подскажите, как можно красиво переформулировать запрос?!
Спасибо.


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

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

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



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