Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет. Нужна помощь в построении запроса.
Суть:
table1: production (id,data(дата производства продукта),good_id(Айди продукта),quantity(объем производства),sum(пока пустое))
table2: price (id,data(дата установления цены),good_id(Айди продукта),price(цена продукта))
Как видно из описания таблиц, дата производства не имеет однозначно установленной цены (цена могла установиться днями ранее)
Т.е. если в таблице нет цены на дату производства продукта, то выбираю из предыдущих цен для этого продукта самую "свежую".
Что я делаю:
UPDATE production p, price pr SET p.sum=p.quantity*pr.price
WHERE pr.price=(SELECT price FROM price WHERE p.data<=data ORDER BY data DECS LIMIT 0,1)
Запрос умирает.
Пробовал еще так:
UPDATE production p, price pr
SET p.sum=p.quantity*pr.price
WHERE p.good_id=pr.good_id and
pr.data=(SELECT data FROM price
WHERE good_id=p.good_id and data<=p.data
ORDER BY data DESC limit 0,1)
Этот запрос выполняется, но результаты не совсем те что ожидаются.
Подскажите как можно решить задачу.
Неактивен
Проблема решена.
Второй вариант поменять местами data<=p.data
Неактивен