2016-05-26 88 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