2010-09-13 67 views
0

我有三個表:查詢幫助 - 自我指涉父表

Type 
--------------------- 
TypeID (primary key) 
ParentTypeID (foreign key) 
TypeDescription (...) 

Action 
--------------------- 
ActionID (primary key) 
TypeID (foreign key) 
ReferenceID (foreign key) 

Reference 
--------------------- 
ReferenceID (primary key) 
ReferenceDescription (...) 

類型是自我指涉。 Action包含Reference和Type的實例。我添加到Action中,因爲每個引用都通過了不同的完成階段。這裏的問題:

我的查詢看起來像什麼樣的顯示最後一項添加到動作WHERE ReferenceID =輸入變量?我知道這是最後一項,因爲它將是列表中唯一沒有子類型的類型的實例。

我很高興澄清這是否太不清楚。

謝謝!

回答

1

假設ActionID是一個i​​nt標識(1,1)等

SELECT TOP 1 
    ActionID, 
    TypeID, 
    ReferenceID 
FROM 
    Action 
WHERE 
    ReferenceID = 1 
ORDER BY 
    ActionID desc 

如果每個參考ID中的最後一項是所有你之後,我不知道你需要擔心該類型的ID。

+0

請使用「110011」按鈕來格式化代碼 – gbn 2010-09-14 03:45:36

+0

您是對的 - 我忽略了這個簡單的事實。 – Terry 2010-09-14 14:32:24