2014-02-11 47 views
0

我有一張名爲SR_Audit的表,其中包含我們的幫助臺票務系統中每張票的所有更新。查詢不同於單列

表的格式按以下表示:

|-----------------|------------------|------------|------------|------------| 
| SR_Audit_RecID | SR_Service_RecID | Audit_text | Updated_By | Last_Update| 
|-----------------|------------------|------------|------------|------------| 
|........PK.......|.......FK.........| 

我已經構建了以下查詢爲我提供了我需要我想要的格式適當的輸出。也就是說,我期望衡量每個工作人員每月在一個月內完成的門票數量。

select SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101) as DateOfClose, count (*) as NumberClosed 
from SR_Audit 
where SR_Audit.Audit_Text LIKE '%to "Completed"%' AND SR_Audit.Last_Update >= DATEADD(day, -30, GETDATE()) 
group by SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101) 
order by CONVERT(CHAR(10),SR_Audit.Last_Update,101) 

但是,查詢有一個弱點,我期待克服。

一張票完成後可以重新打開,這意味着它可以再次完成。這允許工作人員通過重新打開票並再次完成它來人爲地誇大他們的分數,從而每次他們完成票數增加一次。

表中有一個名爲SR_Service_RecID的字段,它基本上是票證號碼。我想在查詢中添加一個條件,以便每個票據只計算一次,而不管其完成次數,同時仍然遵守當前的where子句。

我已經嘗試了子查詢和其他一些方法,但一直未能得到我以後的結果。

任何援助將不勝感激。

乾杯。

考特尼

回答

0

用作

COUNT(DISTINCT(SR_Service_RecID)) as NumberClosed 
+0

完全是我以後的事情。簡單而美麗 - 謝謝! – Courtenay

0

用途:

COUNT(DISTINCT SR_Service_RecID) as NumberClosed 
+0

正是我在後。簡單而美麗 - 謝謝! – Courtenay