Question : montrer un message et vouloir voir tous les fils à ce message.

a obtenu une autre question. le

if je clique dessus l'exposition un message alors que je veux voir tous les fils à celui message.

Need pour établir un PROCÉDÉ stocké de procedure.

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

AS
BEGIN
NOCOUNT ON
du
COMME SentToUserName,
A. [sujet],
A. [corps], converti du
(varchar, A. [MsgDate], 107) COMME zdate,
A. [MsgDate],
A. [MsgRead],
A. [MsgReplied],
A. [MsgNew],
A. [ReplyOfMessageID],ORDRE [tbl_Profile] INTÉRIEUR BY
A. [MsgDate] DESC
END
GO
du
de =@FromProfileID du
WHERE
A. [FromProfileID] du b
ON
A. [ProfileID] =b. [ProfileID] de l'a
JOIN
du
FROM
[tbl_Messages] du
A. [InitialMessageID] class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 " de l'id= " codeSnippet950463 de
           
class= de

Réponse : montrer un message et vouloir voir tous les fils à ce message.

Peut-être n'importe quoi de pareil aidera. Il emploie une approche commune récursive d'expression de table. Le principal est que la première question est votre question d'ancre qui dans votre cas est votre la section initiale using le @FromProfileID. Alors using la récursion de CTE (UNION TOUTE), vous vous associez à ces messages qui sont des réponses ou lié à l'identification de message initiale. Si vos messages de niveau secondaire a toujours une réponse d'identification de message vous n'avez pas besoin probablement du deuxième signez DESSUS la clause.
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 :
; AVEC des msgs
AS
(
    -- recevoir le premier message
    CHOISIR  0 comme MessageLevel,
            a. [MessageID],
            a. [ProfileID],
            a. [FromProfileID],
            a. [FromUsername],
            b. [username] COMME SentToUserName,
            a. [sujet],
            a. [corps],
            converti (varchar, A. [MsgDate], 107) COMME zdate,
            a. [MsgDate],
            a. [MsgRead],
            a. [MsgReplied],
            a. [MsgNew],
            a. [ReplyOfMessageID],
            a. [InitialMessageID]
    DE
            [tbl_Messages] a
      INTÉRIEUR JOINDRE
            b [tbl_Profile]
            SUR
                  a. [ProfileID] = B. [ProfileID]
    LÀ OÙ
            a. [FromProfileID] = @FromProfileID
    
    -- partie récursive de CTE        
    UNION TOUTE 
    
    CHOISIR  m.MessageLevel+1,
            a. [MessageID],
            a. [ProfileID],
            a. [FromProfileID],
            a. [FromUsername],
            b. [username] COMME SentToUserName,
            a. [sujet],
            a. [corps],
            converti (varchar, A. [MsgDate], 107) COMME zdate,
            a. [MsgDate],
            a. [MsgRead],
            a. [MsgReplied],
            a. [MsgNew],
            a. [ReplyOfMessageID],
            a. [InitialMessageID]
    DE
            [tbl_Messages] a
      INTÉRIEUR JOINDRE
            b [tbl_Profile]
            SUR
                  a. [ProfileID] = B. [ProfileID]
      INTÉRIEUR JOINDRE 
            msgs m
            SUR
                  a. [ReplyOfMessageID] = M. [MessageID]
                  OU A. [InitialMessageID] = M. [MessageID] -- ne peut pas avoir besoin de ceci
) 
CHOISIR *
Des msgs
ORDRE PAR MessageLevel, [MsgDate] DESC
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us