2013-11-13 2 views
1

Хорошо, предположим, у вас есть магазин, и вы купили некоторые продукты для перепродажи, как:MySql: Matching проданные продукты для купленных продуктов

purchases: 
id date amount product  buying-price 
1 1. Sep 10x  "Product A"  $3,70 
2 1. Oct 5x  "Product A"  $3,80 
3 1. Nov 2x  "Product A"  $3,50 

Я хочу, чтобы продать продукцию на «первый-в-первого out "-базис, поэтому первые 10 продуктов продаются из покупки с 1 сентября, следующие 5 продуктов от покупки с 1 октября и так далее.

Вопрос: Есть ли SQL-оператор, который может рассказать мне идентификатор покупки на основе проданных продуктов? Примеры:

8 products sold so far => id=1 
12 products sold so far => id=2 
16 products sold so far => id=3 
+0

Так где количество продуктов для каждого идентификатора? –

+0

смотря схему Я думаю, что покупка id является автоматическим приращением, так как '8 продуктов, проданных до сих пор => id = 1' –

ответ

0

Непонятно, что вы хотите сделать с этим запросом. Ниже приведен пример для одного продукта (если ID's увеличиваются с Date):

select min(id) 
from T as T1 
where 
    Product='Product A' 
    AND 
    (SELECT SUM(Amount) from T where Product='Product A' and id<=T1.id) 
     >= <Amount you need to test> 
Смежные вопросы