2013-09-30 98 views
0

這是一個非常簡單的問題,我知道它是。但不能爲我的生活弄清楚。有條件的總結T-SQL

我有一些coloumns,但主要的是ReservationFee和發票ID。

基本上,在單個發票中可以有多個「ReservationFees」。這個價值將被放在水晶報表上,所以我理想的是需要總結每個發票ID的預訂費用。

示例數據

Invoice ID  Reservation Fee 
1    200 
1    300 
2    100 
3    350 
3    100 

期望輸出

Invoice ID  Reservation Fee 
1    500 
2    100 
3    450 

我已經嘗試了一些不同的資金和團體,但不能得到它的權利,我責怪週一上午!

+0

不重複,我的答案是開放的答案使用水晶。 –

回答

1

如果你想在服務器來概括,那麼:

SELECT [Invoice ID], 
     SUM([Reservation Fee]) 
FROM Table 
GROUP BY [Invoice ID] 

如果你想在水晶總結然後添加一個command或拖放你的表

SELECT [Invoice ID], 
     [Reservation Fee] 
FROM Table 

然後右鍵單擊details section和選擇Insert Group

添加詳細信息部分的字段,右鍵單擊Reservation Fee字段,然後選擇插入運行總數。

在窗口中選擇一個名稱,爲每行選擇評估值,並在您之前輸入的組的更改組中重置。

將新創建的字段放入Group Footer

0

嘗試GROUP BY條款:

Select 
    [Invoice ID], 
    SUM([Reservation Fee]) [Reservation Fee] 
From 
    YourTable 
GROUP BY [Invoice ID] 
0

出了什麼問題:

SELECT [Invoice Id], SUM([Reservation Fee]) AS [Reservation Fee] 
FROM dbo.YourTable 
GROUP BY [Invoice Id] 
+1

這是錯誤的...請更改GROUP BY字段。 –

+0

也許我在這個問題上還不清楚。此查詢與其他答案一起爲每個InvoiceID提供了多行,因爲每張發票當然有多個預訂費用。 –

0

試試這個。

declare @Invoice_table table 
(
Invoice_ID int ,  
Reservation_Fee money 
) 
insert into @Invoice_table values 
(1    ,200), 
(1    ,300), 
(2    ,100), 
(3    ,350), 
(3    ,100) 

SELECT SUM (Reservation_Fee) as Reservation_Fee, Invoice_ID from @Invoice_table group by Invoice_ID