2
我試圖確定哪個「迭代」的任何給定記錄是通過計算它之前的記錄數並具有某些匹配特性。本質上,我想知道具有相同父記錄&類別的記錄數也低於[我的記錄ID#]。我可以得到一個相關的子查詢來計算具有相同父類和類別的記錄數,但是當我嘗試添加一個ID過濾器時,我的子查詢過濾器找不到列「T1.ID」 - 來自我的ID#字段主表。相關子查詢 - 計數記錄「小於」主查詢記錄
我的SQL如下,星號是在那裏我已經嘗試和失敗基於「T1的」記錄ID限結果(我顯然不包括在我的實際SQL星號)
select T1.ID, T2.ITERATION
from TICKET as T1
inner join
(select COUNT(T3.ID) as ITERATION, T3.CATEGORY_ID, T3.PARENT_ID
from TICKET as T3
where T3.IS_PARENT = 0 **AND T3.ID < T1.ID**
group by T3.PARENT_ID, T3. CATEGORY_ID)
as T2 on (T1.PARENT_ID = T2.PARENT_ID AND
T1. CATEGORY_ID = T2.CATEGORY_ID)
where T1.IS_PARENT = 0
我等節目,我使用了構建子查詢的函數來實現類似的結果,所以如果我應該朝這個方向看,我會很感激這種反饋。
我來自同一個表計數,因此樣本數據:
ID PARENT_ID CATEGORY
10 1 A
11 2 A
12 1 B
13 3 A
14 2 A
15 1 A
16 3 B
17 1 A
和期望的輸出:
ID ITERATION (explanation)
10 0 (No preceding ID with same parent & category)
11 0 (No preceding ID with same parent & category)
12 0 (No preceding ID with same parent & category)
13 0 (No preceding ID with same parent & category)
14 1 (ID 11 precedes 14 and shares parent & category)
15 1 (ID 10 precedes 15 and shares parent & category)
16 0 (No preceding ID with same parent & category)
17 2 (ID's 10, 15 precede 17 and share parent & category)
如果您發佈一些樣本數據和期望的結果將會很有幫助。 – 2014-10-30 01:34:05