СУММА из нескольких таблиц? - PullRequest
0 голосов
/ 31 августа 2018

Я пишу запрос коллеге по работе, который рассмотрит серию продуктов. Посмотрите, какие продукты были проданы и сколько они продали какому клиенту.

Я сделал следующий запрос:

SELECT T0.[DocNum] AS "Invoice Number"
     , T0.[CardName] AS "Customer Name"
     , T1.[ItemCode] AS "Item Code"
     , T1.[Quantity] AS "Quantity" 
FROM OINV T0
    INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
    INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
WHERE T2.[QryGroup7] = 'Y' AND (T0.DocDate>='[%0]' and T0.DocDate<='[%1]')
ORDER BY T0.[CardName], T1.[ItemCode]

Несколько замечаний по этому поводу ... WHERE DocDate [% 0] - это параметр для SAP B1, а номер счета-фактуры в SELECT можно удалить ... он был добавлен просто в качестве контрольной точки, пока я не разрешу эта проблема.

Я попытался выбрать Docnum / Cardname / в качестве MAX и количество в качестве SUM, а затем добавить их в раздел GROUP BY.

Если я выполню этот запрос, он покажет следующее ...

Andy - Milk - 40
Andy - Milk - 40
Andy - Milk - 20
Bob - Carrots - 30
Bob -Carrots - 50 

Я хочу трактовать «Имя карты и Код товара» как отдельное, но сумма «количество» Чтобы вернуть результат

"Andy - milk - 100"
"Bob - Carrots - 80" 

У меня был хороший Google, и я не могу найти что-нибудь, что будет работать, и то, что я пробовал, просто не имело значения.

1 Ответ

0 голосов
/ 31 августа 2018

Попробуйте ниже с агрегацией суммы

SELECT T0.[CardName] AS "Customer Name"
, T1.[ItemCode] AS "Item Code"
, sum(T1.[Quantity]) AS "Quantity" 
FROM OINV T0  INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
WHERE T2.[QryGroup7] = 'Y' AND (T0.DocDate>='[%0]' and T0.DocDate<='[%1]')
group by T0.[CardName],T1.[ItemCode]
ORDER BY T0.[CardName], T1.[ItemCode]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...