我有如下表(這是我簡單的日期過濾查詢後得到)過濾相同的值 - 只需要一個 - 不使用CTE
現在我要顯示特定月份的SalesAmount兩個,雖然我有多個被忽略了在某些情況下,同一個ID,在這種情況下,需要值和其他考慮,否則(如果只有一個用於ID的條目,該值應取)
| TableID |SalesOpportunityID| OrderID | SalesCycleStatus | Status | SalesAmount | OrderIncMonth |
| 1 | 14551 | NULL | Oppurtunity | Lost | 1556,316 | 2013-10 |
| 2 | 12551 | 14515 | Order | Active | 23563,23 | 2013-10 |
| 3 | 12151 | 15131 | Order | Active | 2212352,43 | 2013-10 |
| 4 | 14531 | NULL | Opportunity | Lost | 32152332,1 | 2013-10 |
| 5 | 12651 | NULL | Opportunity | Won | 23525,3245| 2013-10 |
| 6 | 12651 | 21452 | Order | Active | 23525,3245| 2013-10 |
正如你可以看到,表格ID = 5,= 6是basicaly同一訂單,
只是š作爲一個銷售Optemunity,比(贏得後)變成了一個訂單,並再次存儲, ,因爲我試圖計算當月所有機會和訂單的總和,
我需要過濾掉這些雙精度值,而這樣做的:只服用了高價值的SalesOpportunityID其中SalesCycleStatus是=
訂購(IF詛咒的有2項與同SalesOpportunityID,否則採取SalesAmount兩個用於SalesOpportunityID - regardles渡過SalesCycleStatus是訂購或機會)
有沒有辦法做到這一點不使用CTE? 非常感謝您的幫助:)!
爲什麼你不希望使用CTE?你是否反對使用ROW_NUMBER()? – GarethD
無不是真的對ROW_NUMBER() CTE就是這麼有問題的,因爲你不能真正與其他代碼中使用或加入它,我不想使用UNION – gberisha
*你不能真的使用它其他代碼或加入它* - 你當然可以,如果你沒有遞歸使用它,這與子查詢沒有什麼不同。我懷疑你沒有正確使用它們! – GarethD