Cuestión : demostrar un mensaje y querer ver todos los hilos de rosca a ese mensaje.

consiguió otra pregunta. el

if chasco encendido la demostración un mensaje entonces que quiero ver todos los hilos de rosca a ése message.

Need para construir un PROCEDIMIENTO almacenado de procedure.

ALTER [dbo]. [prc_Messages_Response_Select_All]
SELECT
A. [MessageID],
A. [ProfileID],
A. [FromProfileID],
A. [FromUsername],
B. [username] del

AS
BEGIN
NOCOUNT ON
del
COMO SentToUserName,
A. [tema],
A. [cuerpo], convertido del
(varchar, A. [MsgDate], 107) COMO zdate,
A. [MsgDate],
A. [MsgRead],
A. [MsgReplied],
A. [MsgNew],
A. [ReplyOfMessageID],ORDEN [tbl_Profile] INTERNA BY
A. [MsgDate] DESC
END
GO
del
del =@FromProfileID del
WHERE
A. [FromProfileID] del b
ON
A. [ProfileID] =b. [ProfileID] del a
JOIN
del
FROM
[tbl_Messages] del
A. [InitialMessageID] class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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 notpretty " del class= " del id= " codeSnippet950463 del
           
class= del

Respuesta : demostrar un mensaje y querer ver todos los hilos de rosca a ese mensaje.

Algo similar ayudará quizá. Utiliza un acercamiento común recurrente de la expresión de la tabla. El principal es que la primera pregunta es su pregunta del ancla que en su caso es su la sección inicial usar @FromProfileID. Entonces usar la repetición de CTE (UNIÓN TODA), usted ensambla en esos mensajes que sean contestaciones o ligado a la identificación de mensaje inicial. Si sus mensajes del nivel secundario tienen siempre una contestación de la identificación de mensaje usted no necesita probablemente el segundo llega ENCENDIDO la cláusula.
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:
; CON msgs
COMO
(
    -- conseguir el primer mensaje
    SELECCIONAR  0 como MessageLevel,
            a. [MessageID],
            a. [ProfileID],
            a. [FromProfileID],
            a. [FromUsername],
            b. [username] COMO SentToUserName,
            a. [tema],
            a. [cuerpo],
            convertido (varchar, A. [MsgDate], 107) COMO zdate,
            a. [MsgDate],
            a. [MsgRead],
            a. [MsgReplied],
            a. [MsgNew],
            a. [ReplyOfMessageID],
            a. [InitialMessageID]
    DE
            [tbl_Messages] a
      INTERNO ENSAMBLAR
            b [tbl_Profile]
            EN
                  a. [ProfileID] = B. [ProfileID]
    DONDE
            a. [FromProfileID] = @FromProfileID
    
    -- porción recurrente de CTE        
    UNIÓN TODA 
    
    SELECCIONAR  m.MessageLevel+1,
            a. [MessageID],
            a. [ProfileID],
            a. [FromProfileID],
            a. [FromUsername],
            b. [username] COMO SentToUserName,
            a. [tema],
            a. [cuerpo],
            convertido (varchar, A. [MsgDate], 107) COMO zdate,
            a. [MsgDate],
            a. [MsgRead],
            a. [MsgReplied],
            a. [MsgNew],
            a. [ReplyOfMessageID],
            a. [InitialMessageID]
    DE
            [tbl_Messages] a
      INTERNO ENSAMBLAR
            b [tbl_Profile]
            EN
                  a. [ProfileID] = B. [ProfileID]
      INTERNO ENSAMBLAR 
            msgs m
            EN
                  a. [ReplyOfMessageID] = M. [MessageID]
                  O A. [InitialMessageID] = M. [MessageID] -- no puede necesitar esto
) 
SELECCIONAR *
De los msgs
ORDEN de MessageLevel, [MsgDate] DESC
Otras soluciones  
 
programming4us programming4us