Суммирование с использованием выражения регистра - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу свернуть свои номера.

 SELECT 
     SORDERQ.SOHNUM_0,
     YQTYORD_0, 
     ORDINVNOT_0
 FROM LIVE.SORDER
 LEFT JOIN LIVE. SORDERQ ON SORDER.SOHNUM_0 = SORDERQ.SOHNUM_0
 WHERE SORDER.SOHNUM_0 = 'SC111-162420_19'
 AND ZBPSELECTION_0 <> ''
 AND YCROPYR_0 = '2019'
 AND SORDER.SALFCY_0 = '111'

enter image description here

Я хочу вернуть 1 запись на SOHNUM_0, сумма YQTYORD_0 равна SOHNUM_0 и ORDINVNOT_0.

1 Ответ

0 голосов
/ 25 февраля 2020

Я хочу вернуть 1 запись на SOHNUM_0, сумму YQTYORD_0 для SOHNUM_0 и ORDINVNOT_0.

Вы просто ищете простую агрегацию?

SELECT 
    q.SOHNUM_0,
    SUM(YQTYORD_0) SUM_YQTYORD_0, 
    ORDINVNOT_0
FROM LIVE.SORDER o
LEFT JOIN LIVE.SORDERQ q ON o.SOHNUM_0 = q.SOHNUM_0
WHERE 
    o.SOHNUM_0 = 'SC111-162420_19'
    AND o.SALFCY_0 = '111'
    AND ZBPSELECTION_0 <> '' 
    AND YCROPYR_0 = '2019' 
GROUP BY 
    q.SOHNUM_0, 
    ORDINVNOT_0

Примечание:

  • Я изменил ваш запрос, чтобы он использовал псевдонимы таблиц - это делает его короче

  • вы должны поставить перед всеми столбцами в запросе префикс таблицу, к которой они принадлежат, чтобы сделать ваш запрос недвусмысленным и легким для понимания

...