элементы повторяются в запросе SAP B1

Ниже запрос дает мне правильный вывод о количестве (но нужно добавить количество повторяющихся стилей), но код товара и описание товара повторяются. Я хочу увидеть одноразовый код с общим количеством заказов на поставку и тем, что есть на складе.

Подскажите, пожалуйста, что не так с этим запросом.

Спасибо

Шахзад Ахмед введите здесь описание изображения

SELECT 
T1.[ItemCode], 
T1.[Dscription], 
sum(T1.[Quantity]) as 'PO QTY', 
T3.[OnHand] 

FROM 

ORDR T0  INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry] 
INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode] 
INNER JOIN OITW T3 ON T2.[ItemCode] = T3.[ItemCode] 

WHERE

 T0.[CardCode] = 'c00192' and
    T0.[NumAtCard]  Like '818276%%'  and
    T3.[WhsCode] = '161' 

GROUP BY T1.[ItemCode], T1.[Dscription], T1.[Quantity],  T3.[OnHand] 

person shahzad    schedule 20.11.2017    source источник


Ответы (1)


Вам просто нужно удалить T1.[Quantity] из вашего GROUP BY. Вы должны прочитать о том, как использовать Group by, но в целом, когда вы вызываете group by, вы просите искать строки с одинаковыми значениями в некоторых столбцах.

Например, здесь вы хотите добавить количество каждой строки с одним и тем же ItemCode, Dscription, OnHand, но вы также просите искать здесь строки с тем же количеством.

Вот хорошая статья о GROUP BY

person Fleury26    schedule 20.11.2017
comment
Большое спасибо. это сработало. еще одна помощь. в предложении where NumatCard имеет уникальный номер инициализации, но содержит store# с -. как 818276-03004 и у меня почти 60 магазинов. могу ли я предоставить numatcard (только PO #) в качестве условия ввода? - person shahzad; 20.11.2017
comment
К сожалению, я не уверен, что понимаю вопрос. Насколько я понимаю, NumAtCard - это на самом деле уникальный номер, a - и номер магазина. Итак, вы спрашиваете, можете ли вы выполнить запрос, в котором вы ищете определенный заказ на покупку в NumAtCard. В ЗП номер магазина? Итак, в вашем примере ваш PO будет 03004? И не забудьте отметить ответ как решение, чтобы другие пользователи знали, где искать! - person Fleury26; 20.11.2017
comment
PO# — 818276. но как только мы получаем PO через EDI, этот PO разделяется по store# (03004 — store#). поэтому для каждого магазина в SAP создается отдельная SO, имеющая Numatcard как 818276-03004, 818276-03005 и так далее. Вот почему я поставил условие в предложении where, что numatcard начинается с 818276. Теперь я хочу, чтобы этот PO # (818276) в поле ввода выполнял запрос. - person shahzad; 20.11.2017
comment
Да, вы можете сделать это с параметрами! Просто измените предложение Like на параметр NumAtCard Like и введите значение параметра на входе. Обязательно добавьте «%», чтобы у вас были все магазины для этого заказа на покупку. - person Fleury26; 20.11.2017
comment
Спасибо Fleury26 за оперативную помощь. очень ценю. - person shahzad; 20.11.2017
comment
T0.[NumAtCard] вроде '[%0]' + '%%', это то, что мне нужно при вводе входного параметра. Благодарность - person shahzad; 20.11.2017