Запрос Visual Foxpro для ожидаемого количества

У меня есть две таблицы AORDER для покупки и BORDER для продажи. Я хочу получить ожидаемое количество. Заказы на продажу могут иметь более 1 записи для одного заказа на покупку. Я не хочу показывать те заказы, количество которых равно 0. Я пробовал это:

SELECT ;
      aorder.orderid,;
      aorder.orderdate,;
      aorder.itemname,;
      aorder.partyname,;
      aorder.qty as Purchase,;
      SUM(border.qty) AS Sale,;
      SUM(aorder.qty-border.qty) as Pending;
   FROM ;
      aorder;
         LEFT JOIN border ;
            ON aorder.orderid = border.porderid;
   GROUP BY ;
      aorder.orderid,;
      aorder.orderdate,;
      aorder.itemname,;
      aorder.partyname,;
      aorder.qty

Но мне не удалось скрыть те записи, в которых количество покупок = количество продаж.

Спасибо заранее.


person Gaurav Gupta    schedule 11.03.2013    source источник
comment
Добавьте в запрос предложение HAVING. например HAVING SUM(aorder.qty - border.qty) > 0   -  person shahkalpeshp    schedule 11.03.2013


Ответы (1)


Как упомянул Шахкалпеш, вам нужно применить наличие, но ваша SUM неверна.

Так должно быть

aorder.qty - SUM(border.qty) > 0; && также для вашей полевой справки.

Причина SUM суммирует каждую часть ВНУТРИ суммы. У вас будет только одна запись «Покупка», но много записей «Продажа», как при управлении запасами «первым пришел / первым ушел» (FIFO), последним пришел / первым ушел (LIFO) и т. д.

Итак, скажем, у вас есть заказ на ПОКУПКУ № 1 с количеством 10, и вы продали отдельные разы для количеств 2, 1, 1, 3, 2, 1... Всего 6 записей о продажах. То, что вы делаете, это

sum( 10 - 2 
   + 10 - 1
   + 10 - 1
   + 10 - 3
   + 10 - 2
   + 10 - 1 )

Переработанный способ - это...

10 - SUM( 2 + 1 + 1 + 3 + 2 + 1 )
person DRapp    schedule 11.03.2013
comment
Спасибо за ответ. DRapp Я правильно получил ожидаемое количество. Но заказа на покупку без заказа на продажу нет в списке. Как это решить. Я пробовал где и имея оговорки. Но не работает. В моем запросе продажа может быть больше, чем покупка. Я имею в виду, что продажи также могут быть отрицательными. – - person Gaurav Gupta; 13.03.2013