Вопрос : покажите сообщение и те увидеть все резьбы к тому сообщению.

получил другой вопрос.

if я щелкаю дальше выставкой сообщение после этого, котор я хочу увидеть все резьбы к тому message.

Need для того чтобы построить, котор хранят ПРОЦЕДУРУ ПО procedure.

ALTER [dbo]. [prc_Messages_Response_Select_All] A.
SELECT


AS
BEGIN
УСТАНОВЛЕННОЕ NOCOUNT ON

[MessageID], A.
[ProfileID], A.
[FromProfileID], A.
[FromUsername], B.
[UserName] КАК SentToUserName, A.
[вопрос], A.
[тело], новообращенный
(varchar, A. [MsgDate], 107) КАК zdate, A.
[MsgDate], A.
[MsgRead], A.
[MsgReplied], A.
[MsgNew], A.
[ReplyOfMessageID],A. BY
ЗАКАЗА
=@FromProfileID A.
WHERE
A. b
ON
a
ВНУТРЕННЕЕ JOIN

FROM
A.
[InitialMessageID] [tbl_Messages] [tbl_Profile] [ProfileID] =b. [ProfileID] [FromProfileID] [MsgDate] DESC
END
GO
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
>not " class= " id= " codeSnippet950463
           
class=

Ответ : покажите сообщение и те увидеть все резьбы к тому сообщению.

Возможно что-нибудь подобное поможет. Оно использует рекурсивный обычный подход к выражения таблицы. Глава что первым вопросом будет ваш вопрос анкера в ваш случай ваш первоначально раздел using @FromProfileID. После этого using рекурсия CTE (СОЕДИНЕНИЕ ВСЕ), вы соединяете в теми сообщениями которые будут или ответы или после того как они соединены к первоначально удостоверению личности сообщения. Если ваши вторичные ровные сообщения всегда имеют ответ удостоверения личности, то сообщения вам вероятно не нужно второе проверяете внутри ДАЛЬШЕ клаузулу.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
; С msgs
КАК
(
    -- получите первое сообщение
    ВЫБЕРИТЕ  0 как MessageLevel,
            A. [MessageID],
            A. [ProfileID],
            A. [FromProfileID],
            A. [FromUsername],
            B. [UserName] КАК SentToUserName,
            A. [вопрос],
            A. [тело],
            новообращенный (varchar, A. [MsgDate], 107) КАК zdate,
            A. [MsgDate],
            A. [MsgRead],
            A. [MsgReplied],
            A. [MsgNew],
            A. [ReplyOfMessageID],
            A. [InitialMessageID]
    ОТ
            [tbl_Messages] a
      ВНУТРЕННЕ СОЕДИНИТЕ
            [tbl_Profile] b
            НА
                  A. [ProfileID] = B. [ProfileID]
    ГДЕ
            A. [FromProfileID] = @FromProfileID
    
    -- рекурсивная часть CTE        
    СОЕДИНЕНИЕ ВСЕ 
    
    ВЫБЕРИТЕ  m.MessageLevel+1,
            A. [MessageID],
            A. [ProfileID],
            A. [FromProfileID],
            A. [FromUsername],
            B. [UserName] КАК SentToUserName,
            A. [вопрос],
            A. [тело],
            новообращенный (varchar, A. [MsgDate], 107) КАК zdate,
            A. [MsgDate],
            A. [MsgRead],
            A. [MsgReplied],
            A. [MsgNew],
            A. [ReplyOfMessageID],
            A. [InitialMessageID]
    ОТ
            [tbl_Messages] a
      ВНУТРЕННЕ СОЕДИНИТЕ
            [tbl_Profile] b
            НА
                  A. [ProfileID] = B. [ProfileID]
      ВНУТРЕННЕ СОЕДИНИТЕ 
            msgs m
            НА
                  A. [ReplyOfMessageID] = M. [MessageID]
                  ИЛИ A. [InitialMessageID] = M. [MessageID] -- не смогите это
) 
ВЫБЕРИТЕ *
ОТ msgs
ЗАКАЗ MessageLevel, [MsgDate] DESC
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us