2009-12-24 5 views
1

나는 주문 세부 사항 테이블을 가지고 있습니다. 내가 원하는 무엇그룹에 합계를 더함

내가 텍스트 파일로 수출 총액 각 위해 또 다른 라인을 추가 할 필요가 의미

OrderNumber | SKU | QTY | Price | Line Total | 
1   SKU1 1 10.00  10.00 
1   ---- 0  0.00  10.00 
2   SKU1 2 10.00  20.00 
2   SKU2 3  1.50   4.50 
2   ---- 0  0.00  24.50 

을 표시 한 쿼리를 만드는 것입니다.

나는 SQL Server 2005를 보유하고 있습니다.

감사합니다. 단일 SQL에서 모든 일을하는 것은 좋은 생각 인 경우

답변

4

여분의 열이 용이하고, 단지 두 exsting의 곱으로 정의되는 SQL 다른 출력 컬럼

Select OrderNumber, SKU, QTY, Price, Qty * Price as LineTotal 
    From Table ... 

번째 부분은, 부분합 행을 추가하는 함께 할 수있는 특성을 만들 키워드 Rollup 또는 집계 쿼리와 통합하여

Select OrderNumber, SKU, QTY, Price, 
     Qty * Price as LineTotal 
    From Table 
    Union 
    Select OrderNumber, null SKU, null Qty, null Price, 
     Sum(Qty * Price) as LineTotal 
    From Table 
    Group By OrderNumber 
    Order By OrderNumber, Case When SKU Is Null then 1 Else 0 End 
1

는 잘 모르겠어요,하지만 당신은 노동 조합과 시도 할 수 :

SELECT * 
FROM (
    SELECT ordernumber, sku, qty, price, qty*price line_total 
    FROM order_details 
    UNION 
    SELECT ordernumber, '---' sku, 0 qty, 0 price, SUM(qty*price) 
    FROM order_details 
    GROUP BY ordernumber 
) 
ORDER BY ordernumber, sku 

는하지만이 시도하지 않았습니다.