Проблема SQL — Сумма

#sql #database #db2

#sql #База данных #db2

Вопрос:

я привязываюсь к сумме количества в SQL, но получаю сообщение об ошибке. Кто-нибудь знает, что я делаю не так? Спасибо! (извините, я не разбираюсь в SQL!) Он работает нормально, пока я не попытаюсь суммировать BXQTOH (добавить сумму и сгруппировать, разбив ее)

 SELECT STKMP.AWPART, STKMP.AWDES1, POPTVP.BF5PLT,              
POPTVP.BF5VPT, SUM(STKB.BXQTOH)                                
 FROM stkmP INNER JOIN POPTVP ON BF5PT# = AWPART                                                         
 INNER JOIN STKB ON STKB.BXPLNT = POPTVP.BF5PLT                
AND AWPART LIKE 'Z%' AND STKB.BXPART = AWPART GROUP BY BXPLNT 
  

У меня есть дополнительные строки, которые мне нужно объединить в одну строку … так что в основном для Z00002
мне нужно, чтобы 0 и 1 qtys суммировались в одну строку.
Спасибо

https://i.stack.imgur.com/KuX3f.png

Комментарии:

1. Вам не хватает a SELECT . И ваши GROUP BY столбцы не соответствуют SELECT столбцам.

2. извините, блок кода случайно перепутался и удалил мой выбор .. исправлено 🙂

3. Я пытаюсь в основном получить кол-во, суммированное по BF5PLT (location), а затем часть (AWPART) 🙂

4. вы не можете выбрать другие столбцы, которых нет в вашем предложении group by, но если вам нужен специальный вывод, возможно, некоторые данные и желаемый результат помогут нам помочь вам 🙂

Ответ №1:

 SELECT STKMP.AWPART, STKMP.AWDES1, POPTVP.BF5PLT,              
POPTVP.BF5VPT, sum(CAST(STKB.BXQTOH AS BIGINT))                              
 FROM stkmP INNER JOIN POPTVP ON BF5PT# = AWPART                                                         
 INNER JOIN STKB ON STKB.BXPLNT = POPTVP.BF5PLT                
AND AWPART LIKE 'Z%' AND STKB.BXPART = AWPART GROUP BY BXPLNT 
  

Комментарии:

1. > ВЫБЕРИТЕ STKMP. AWPART, STKMP. AWDES1, POPTVP.BF5PLT, POPTVP.BF5VPT, sum(ПРИВЕДЕНИЕ (STKB.BXQTO КАК BIGINT)) ИЗ stkmP ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ POPTVP НА BF5PT# = AWPART ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ STKB НА STKB.BXPLNT = POPTVP.BF5PLT И AWPART КАК ‘Z%’ И STKB.BXPART = AWPART ГРУППА ПО столбцу BXPLNT AWPARTили выражение в списке ВЫБОРА недопустимо. Выдает эту ошибку AWPART или выражение в списке выбора недопустимо: (