Как суммировать весь столбец с помощью SQL - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь суммировать весь столбец в SQL. В приведенном ниже коде суммируется каждая строка, но вместо этого мне просто нужна общая строка. Я предполагаю, что это должно быть сделано с помощью GROUP BY, но единственный способ работы запроса - это использование Share_Type или Balance, ни один из которых не суммирует столбец. Я также попытался добавить оператор CASE в группу с помощью (отключив «AS MoneyMaxBalance», но получил сообщение об ошибке.

SELECT
      CASE
          WHEN SHARE_TYPE = 57 THEN SUM(BALANCE) ELSE 0 
      END AS MoneyMaxBalance
FROM SHARE
          INNER JOIN ACCOUNT ON SHARE.MEMBER_NBR = ACCOUNT.MEMBER_NBR AND 
                                SHARE.SHARE_NBR = ACCOUNT.ACCOUNT_NBR
          INNER JOIN PRODUCT ON ACCOUNT.PRODUCT_CODE = PRODUCT.PRODUCT_CODE
GROUP BY  SHARE_TYPE

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Если вам нужна только одна строка, не используйте group by:

SELECT SUM(BALANCE) AS MoneyMaxBalance
FROM SHARE s INNER JOIN
     ACCOUNT a
     ON s.MEMBER_NBR = a.MEMBER_NBR AND 
        s.SHARE_NBR = a.ACCOUNT_NBR INNER JOIN
    PRODUCT p
    ON a.PRODUCT_CODE = p.PRODUCT_CODE
WHERE SHARE_TYPE = 57;
0 голосов
/ 06 мая 2020
SELECT SUM(CASE WHEN SHARE_TYPE = 57 THEN BALANCE ELSE 0 END) AS MoneyMaxBalance
FROM SHARE s 
INNER JOIN ACCOUNT a ON s.MEMBER_NBR = a.MEMBER_NBR AND s.SHARE_NBR = a.ACCOUNT_NBR 
INNER JOIN PRODUCT p ON a.PRODUCT_CODE = p.PRODUCT_CODE

Надеюсь, этот запрос отлично подойдет для вашего случая:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...