SQL Server의 열 합계를 가져와 단일 쿼리에 표시하는 방법은 무엇입니까?

드레이크

이 테이블에는 청구, 페널티 및 할인의 세 가지 특정 트랜잭션이 있습니다. 청구 금액 ((Billing-Discount) + Penalty)을 계산하고 싶습니다.

| CustNumber | Particular | Amount |
| 1001       | Billing    | 170.00 |
| 1001       | Penalty    | 17.00  |
| 1001       | Discount   | 8.50   |
| 1002       | Billing    | 250.00 |
| 1002       | Penalty    | 25.00  |
| 1002       | Discount   | 12.50  |
| 1003       | Billing    | 500.00 |
| 1003       | Penalty    | 50.00  |
| 1003       | Discount   | 25.00  |
| 1004       | Billing    | 200.00 |
| 1004       | Penalty    | 20.00  |
| 1004       | Discount   | 10.00  |

이것은 출력이어야합니다.

| CustNumber | BilledAmount |
| 1001       | 178.50       |
| 1002       | 262.50       |
| 1003       | 525.00       |
| 1004       | 210.00       |

지금까지 시도한 것 : 각 개별 계정에 대한 청구 금액을 확인했습니다.

ALTER PROCEDURE [dbo].[spComputeBilledAmount]
    @CustId int
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @billing decimal(18,2),
            @penalty decimal(18,2),
            @discount decimal(18,2)

    SELECT 
        @billing = COALESCE(SUM(CASE WHEN particulars = 'Billing' THEN [Amount] ELSE 0 END), 0),
        @penalty = COALESCE(SUM(CASE WHEN particulars = 'Penalty' THEN [Amount] ELSE 0 END), 0),
        @discount = COALESCE(SUM(CASE WHEN particulars = 'Discount' THEN [Amount] ELSE 0 END), 0)
    FROM
        [Transactions]
    WHERE 
        [ConcessionaireId] = @CustId
                            
    SELECT ((@billing-@discount)+ @penalty)  AS 'BilledAmount'
END
팀 비겔 라이젠

여기서 조건부 집계를 사용합니다.

SELECT
    CustNumber,
    MAX(CASE WHEN Particular = 'Billing' THEN Amount ELSE 0 END) +
    MAX(CASE WHEN Particular = 'Penalty' THEN Amount ELSE 0 END) -
    MAX(CASE WHEN Particular = 'Discount' THEN Amount ELSE 0 END) AS BilledAmount
FROM [Transactions]
GROUP BY
    CustNumber;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MySQL에서 여러 열의 값을 단일 열로 결합하는 SQL 쿼리를 만드는 방법은 무엇입니까?

분류에서Dev

timedelta64 열에 대해 .unique ()를 가져 와서 시간을 일 단위로 표시하는 방법은 무엇입니까?

분류에서Dev

단일 쿼리로 올해와 전년도의 루피 합계를 얻는 방법은 무엇입니까?

분류에서Dev

SQL에서 동일한 ID와 다른 테이블을 가진 열의 합계를 얻는 방법은 무엇입니까?

분류에서Dev

Java에서 문자열의 일부를 가져 와서 인쇄하는 방법은 무엇입니까?

분류에서Dev

추가 열에서 하나의 SQL 쿼리에서 2 그룹 쿼리의 결과를 결합하는 방법은 무엇입니까?

분류에서Dev

MongoDB의 배열에 포함 된 단일 문서를 쿼리하는 방법은 무엇입니까?

분류에서Dev

SQL에서 열의 합계를 얻는 방법은 무엇입니까?

분류에서Dev

SQL의 범위 쿼리에 일련 번호를 추가하는 방법은 무엇입니까?

분류에서Dev

Oracle SQL의 단일 행에 관련 레코드를 표시하는 방법은 무엇입니까?

분류에서Dev

단일 쿼리에서 다른 열의 홀수 ID를 얻는 방법은 무엇입니까?

분류에서Dev

Pandas의 많은 시계열을 단일 날짜 시간 인덱스에 결합하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

DB에 범위가 저장되는 범위 사이의 데이터를 '-'로 구분 된 단일 열로 쿼리하는 방법은 무엇입니까?

분류에서Dev

SQL 쿼리에서 단일 요소를 얻는 방법은 무엇입니까?

분류에서Dev

수량 합계와 가격 평균에서 여러 열의 합계를 얻는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 열의 개별 합계를 찾는 방법은 무엇입니까?

분류에서Dev

2 개의 SQL 테이블에서 데이터를 가져 와서 단일 HTML 테이블에 넣는 방법은 무엇입니까?

분류에서Dev

Azure SQL DB에 저장된 proc을 사용하여 한 번에 쿼리의 모든 일괄 처리를 가져 오는 방법은 무엇입니까?

분류에서Dev

쿼리와 같은 SQL Server를 사용하는 방법은 무엇입니까?

분류에서Dev

HTML을 사용하여 표의 단일 열에서 셀 길이를 늘리는 방법은 무엇입니까?

분류에서Dev

HTML에 SQL Server의 결과를 표시하는 방법은 무엇입니까?

분류에서Dev

R에서 목록의 열 단위 논리적 평가를 계산하는 방법은 무엇입니까?

분류에서Dev

세 테이블의 데이터를 단일 그리드 출력으로 결합하는 SQL Server 2005 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

PL / SQL 보고서에서 단일 열의 모든 값을 단일 행에 표시하는 방법은 무엇입니까?

분류에서Dev

단일 열에서 두 범주를 합산하고 열 측면에 합계를 표시하는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 XML 열을 쿼리하는 방법은 무엇입니까?

분류에서Dev

파일에서 모든 숫자를 가져 와서 배열에 입력하는 방법은 무엇입니까?

분류에서Dev

PHP 파일에 저장된 배열에서 요소를 가져와 HTML 페이지에 텍스트로 표시하는 방법은 무엇입니까?

분류에서Dev

UTC 형식의 날짜와 시간이있는 열에서 레코드를 가져 오기 위해 SQL에 조건을 두는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    MySQL에서 여러 열의 값을 단일 열로 결합하는 SQL 쿼리를 만드는 방법은 무엇입니까?

  2. 2

    timedelta64 열에 대해 .unique ()를 가져 와서 시간을 일 단위로 표시하는 방법은 무엇입니까?

  3. 3

    단일 쿼리로 올해와 전년도의 루피 합계를 얻는 방법은 무엇입니까?

  4. 4

    SQL에서 동일한 ID와 다른 테이블을 가진 열의 합계를 얻는 방법은 무엇입니까?

  5. 5

    Java에서 문자열의 일부를 가져 와서 인쇄하는 방법은 무엇입니까?

  6. 6

    추가 열에서 하나의 SQL 쿼리에서 2 그룹 쿼리의 결과를 결합하는 방법은 무엇입니까?

  7. 7

    MongoDB의 배열에 포함 된 단일 문서를 쿼리하는 방법은 무엇입니까?

  8. 8

    SQL에서 열의 합계를 얻는 방법은 무엇입니까?

  9. 9

    SQL의 범위 쿼리에 일련 번호를 추가하는 방법은 무엇입니까?

  10. 10

    Oracle SQL의 단일 행에 관련 레코드를 표시하는 방법은 무엇입니까?

  11. 11

    단일 쿼리에서 다른 열의 홀수 ID를 얻는 방법은 무엇입니까?

  12. 12

    Pandas의 많은 시계열을 단일 날짜 시간 인덱스에 결합하는 가장 좋은 방법은 무엇입니까?

  13. 13

    DB에 범위가 저장되는 범위 사이의 데이터를 '-'로 구분 된 단일 열로 쿼리하는 방법은 무엇입니까?

  14. 14

    SQL 쿼리에서 단일 요소를 얻는 방법은 무엇입니까?

  15. 15

    수량 합계와 가격 평균에서 여러 열의 합계를 얻는 방법은 무엇입니까?

  16. 16

    SQL Server에서 열의 개별 합계를 찾는 방법은 무엇입니까?

  17. 17

    2 개의 SQL 테이블에서 데이터를 가져 와서 단일 HTML 테이블에 넣는 방법은 무엇입니까?

  18. 18

    Azure SQL DB에 저장된 proc을 사용하여 한 번에 쿼리의 모든 일괄 처리를 가져 오는 방법은 무엇입니까?

  19. 19

    쿼리와 같은 SQL Server를 사용하는 방법은 무엇입니까?

  20. 20

    HTML을 사용하여 표의 단일 열에서 셀 길이를 늘리는 방법은 무엇입니까?

  21. 21

    HTML에 SQL Server의 결과를 표시하는 방법은 무엇입니까?

  22. 22

    R에서 목록의 열 단위 논리적 평가를 계산하는 방법은 무엇입니까?

  23. 23

    세 테이블의 데이터를 단일 그리드 출력으로 결합하는 SQL Server 2005 쿼리를 작성하는 방법은 무엇입니까?

  24. 24

    PL / SQL 보고서에서 단일 열의 모든 값을 단일 행에 표시하는 방법은 무엇입니까?

  25. 25

    단일 열에서 두 범주를 합산하고 열 측면에 합계를 표시하는 방법은 무엇입니까?

  26. 26

    SQL Server에서 XML 열을 쿼리하는 방법은 무엇입니까?

  27. 27

    파일에서 모든 숫자를 가져 와서 배열에 입력하는 방법은 무엇입니까?

  28. 28

    PHP 파일에 저장된 배열에서 요소를 가져와 HTML 페이지에 텍스트로 표시하는 방법은 무엇입니까?

  29. 29

    UTC 형식의 날짜와 시간이있는 열에서 레코드를 가져 오기 위해 SQL에 조건을 두는 방법은 무엇입니까?

뜨겁다태그

보관