2013-07-24 4 views
0

다음은 단일 메일 트레일에 속하는 메시지를 보여주는 단순화 된 테이블 구조입니다. 즉, 메시지 ID 46 (여기서 parentMessageID = 0)으로 시작되는 트레일. 메시지 47은 메시지 46에 대한 회신입니다. 메시지 89는 메시지 47에 대한 회신입니다.지정된 트레일에서 메시지 가져 오기

tblMessages 

messageID  parentMessageID 
----------------------------- 
46   0 
47   46 
89   47 

이 테이블에는 분명히 수천 개의 메시지 레코드가 있습니다.

특정 트레일의 모든 메시지를 가져 오려면 어떻게해야합니까? 위의 흔적?

+0

기본적으로이 대화는 'parentMessageID == 0'으로 시작하는 대화입니까? – BenM

+0

예, 정확합니다. – user460114

+1

대화 식별자를 저장하는 것이 더 좋지 않습니까? 당신이 가지고있는 문제는 당신이 깊이 수준의 징후가 없다는 것입니다, 그래서 반복을 시도하는 것은 거의 불가능합니다. 'parentMessageID'를 루트 (즉,'parentMessageID == 0')로 설정하고 날짜순으로 정렬하는 것이 더 논리적 일 것입니다. – BenM

답변

1

대화 식별자를 저장하는 것이 더 좋지 않습니까?

문제는 깊이 수준을 알 수 없으므로 반복을 시도하는 것이 거의 불가능하다는 것입니다. parentMessageID을 루트 (즉, parentMessageID == 0 인 경우)로 설정 한 다음 날짜순으로 주문하는 것이 더 합리적입니다.

관련 문제