2016-08-31 13 views
-1

これは非常に簡単な質問ですが、私の脳は揚げられており、私はgoogleで検索質問を苦労しています。SQL Server 2008:1人の複数の請求書の広告申込情報の合計を表示

Iに示す結果セット作成クエリ有する:請求書の

customer ID, 
Customer Name, 
Line amount 

線量欄が表示されますが、請求書IDが原因でラインアイテムレベル請求書IDに複数の行に表示される場合があります販売された複数の商品に適用される可能性があります。私が欲しいのは、Customer IDとNameをグループにするのは一度だけで、行金額の列を使って表示する請求書の合計金額です。

これは私のクエリです:

SELECT 
    SALESTABLE.CUSTACCOUNT as CustomerNumber, 
    CUSTINVOICETRANS.JSDELIVERYNAME as CustomerName, 
    SUM(CUSTINVOICETRANS.LINEAMOUNT) as TotalAmount 
FROM 
    salesline (nolock) 
JOIN 
    salestable (nolock) ON salesline.salesid = salestable.salesid 
         AND salesline.salesstatus = '3' 
         AND salesline.dataareaid = '110' 
         AND salesline.custgroup IN ('trade', 'trade npo') 
         AND salesline.itemid NOT LIKE 'freight%' 
         AND salestable.dataareaid = '110' 
JOIN 
    inventtable (nolock) ON inventtable.itemid = salesline.itemid 
         AND inventtable.dataareaid = '110' 
JOIN 
    ECORESPRODUCTtranslation (nolock) ON ECORESPRODUCTtranslation.recid = INVENTTABLE.PRODUCT 
JOIN 
    CUSTTABLE (nolock) ON SALESTABLE.CUSTACCOUNT = CUSTTABLE.ACCOUNTNUM 
         AND custtable.dataareaid = '110' 
JOIN 
    DIRPARTYLOCATION (nolock) ON CUSTTABLE.PARTY = DIRPARTYLOCATION.PARTY 
           AND DIRPARTYLOCATION.ispostaladdress = '1' 
JOIN 
    DIRPARTYPOSTALADDRESSVIEW (nolock) ON DIRPARTYPOSTALADDRESSVIEW.PARTY = custtable.PARTY 
             AND DIRPARTYPOSTALADDRESSVIEW.location = DIRPARTYLOCATION.location 
             AND DIRPARTYPOSTALADDRESSVIEW.validto = '12/31/2154 23:59:59' 
             AND DIRPARTYPOSTALADDRESSVIEW.isprimary = '1' 
JOIN 
    hcmworker (nolock) ON salestable.workersalesresponsible = hcmworker.recid 
JOIN 
    DIRPARTYTABLE (nolock) ON hcmworker.PERSON = DIRPARTYTABLE.recid 
JOIN 
    CUSTINVOICETRANS (nolock) ON CUSTINVOICETRANS.inventtransid = salesline.inventtransid 
           AND CUSTINVOICETRANS.dataareaid = '110' 
WHERE 
    CUSTINVOICETRANS.INVOICEdate >= '8/25/2016' 
    AND CUSTINVOICETRANS.INVOICEdate <= getdate() 
GROUP BY 
    salestable.CUSTACCOUNT, CUSTINVOICETRANS.JSDELIVERYNAME, CUSTINVOICETRANS.LINEAMOUNT 

現在あなた

をありがとう、私の結果セットは次のようになります。

CustomerNumber CustomerName  TotalAmount 
1000002   *customer name*  15.8000000000000000 
1000002   *customer name*  9.8400000000000000 
1000002   *customer name*  11.1600000000000000 
1000002   *customer name*  89.6400000000000000 

答えて

0

あなたはGroup BY削除, CUSTINVOICETRANS.LINEAMOUNTでは、説明何から。その値を合計しているときにGroup Byにその列は必要ありません。

関連する問題