2016-05-26 86 views
1

我有一個表:評論 欄目有:AUTHOR_ID,ID,PARENT_ID,時間戳合併表格價值觀

例子:

author_id, id, parent_id, timestamp 
1, 1, NULL, 12:00 << this is the original post 
2, 1234, 1, 12:04 << this is a reply made 4 minutes after 
3, 5678, 1, 12:05 << this is another reply 

所有答覆分享OP的 '身份證' 作爲他們的 'PARENT_ID'

我想要的是單個表格或視圖,因此所有對話(OP和回覆)都按上述順序排列。我現在所擁有的只是按時間順序排列的所有評論(OP和回覆)的列表,所以我有很多重疊的對話。我需要綁定會話,但不能作爲連接,因爲它會爲每個回覆重複每個OP,並使我需要的列數翻倍。

感謝

回答

1

假設對話的ID和PARENT_ID和一個新的ID意味着一個新的對話的開始聯繫。 你可以這樣寫:

select 
    ISNULL(parent_id, id) as ConversationId, 
    * 
from 
    Comments 
order by ConversationId, timestamp