我正在做一些入站呼叫需求獲取系統的工作,每個呼叫可能有一個或多個需求鏈接到它。出於100個要求的樣本,還有什麼要求?
有一個帶CallDate,CallReference和CaptureID的CaptureHeader表,以及一個CaptureID和DemandID的CaptureDemand表。
編輯:
我增加了一些有代表性的數據顯示什麼會在每個表中可以預期的。
CaptureHeader
CaptureID | CallReference | CallDate
-----------------------------------------------
1 | 1 | 2009-11-02 20:37:00
2 | 3 | 2009-11-02 20:37:05
3 | 2 | 2009-11-02 20:37:10
4 | 4 | 2009-11-02 20:38:00
5 | 5 | 2009-11-02 20:38:30
CaptureDemand
DemandID | CaptureID | DemandText
------------------------------------
1 | 1 | Fund value
2 | 2 | Password reset
3 | 2 | Fund value
4 | 3 | Change address
5 | 3 | Fund value
6 | 3 | Rate change
7 | 3 | Fund value
8 | 4 | Variable to fixed
9 | 4 | Change address
10 | 5 | Fund value
11 | 5 | Address change
使用上 '基金值' a過濾器上方的表將帶回的呼叫引用1,2,3,3,5,因爲3具有兩個基金價值。
如果我做了這樣的不同,因爲我已按日期排序它會問我表明,這也會給我兩行3
要獲得完整的數據我會做以下查詢:
SELECT * FROM CaptureHeader AS ch
JOIN CaptureDemand AS cd ON ch.CaptureID = cd.CaptureID
JOIN DemandDetails AS dd ON cd.DemandID = dd.DemandID
我想雖然是按日期獲取最後100個特定需求的標題。在這種情況下,棘手的是當一個標題上有多個相同的需求時,可能會有特定的參考。
我想要100個獨特的調用引用,因爲那麼我需要找回那些調用引用的所有需求,然後計算在同一個調用中還記錄了多少個其他需求。
編輯:
我想能夠說 'WHERE DemandID = someValue中' 選擇我的100個引用。
換句話說,在100個「價值要求」要求中還要求提供其他要求。如果這沒有意義,請告訴我,我會嘗試修改問題以使其更清晰。
我想獲得一個表是這樣的:
Demands | Count
------------------------
Demand asked for | 100
Another demand | 36
Third demand | 12
Fourth demand | 6
乾杯,伊恩。
也許一些樣本數據會有所幫助?我不能完全跟隨你。 聽起來像是捕獲和需求是M:N - 但是您允許捕獲 - 需求ID對在連接表中重複。如果在連接表中有一個「count」列來表示特定匹配發生了多少次關係,會更容易嗎? – Mikeb 2009-11-02 18:56:46
聲明「我希望通過特定需求獲得最後100個標題」與您提供的示例輸出表不匹配。 – RedFilter 2009-11-02 18:57:27
我一直在看它分兩部分。第一部分我試圖從我的示例集的頭表中獲取100個調用引用。然後,我將使用這些引用的捕獲ID來查找CaptureDemand表中的需求。然後,我通過出現次數降序對數據進行排序。在一個理想的世界裏,我所要求的需求會有100個,然而其他要求卻少於其他需求,但可能不是這樣。 – 2009-11-02 19:02:16