Bonjour,

Mon problème concerne l'affichage de message sur un blog en fonction des groupes auxquels appartient un usager.

voici la requête SQL actuelle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
/* Powered by General SQL Parser (www.sqlparser.com) */
 
SELECT   TBL_MBLOG_POST.*,
         TBL_USERS.NOM         AS XNOM,
         TBL_USERS.PRENOM      AS XPRENOM,
         TBL_GROUPEUSER.USERID,
         TBL_MBLOG_POSTCAT.NOM AS XCAT
FROM     TBL_MBLOG_POSTCAT
         INNER JOIN (TBL_USERS
                     INNER JOIN (TBL_MBLOG_POST
                                 INNER JOIN (TBL_GROUPES
                                             INNER JOIN (TBL_GROUPEUSER
                                                         INNER JOIN TBL_GROUPEPOST
                                                           ON TBL_GROUPEUSER.GROUPEID = TBL_GROUPEPOST.GROUPEID)
                                               ON TBL_GROUPES.ID = TBL_GROUPEUSER.GROUPEID)
                                   ON TBL_MBLOG_POST.ID = TBL_GROUPEPOST.POSTID)
                       ON TBL_USERS.ID = TBL_MBLOG_POST.AUTEURID)
           ON TBL_MBLOG_POSTCAT.ID = TBL_MBLOG_POST.CATID
WHERE    TBL_GROUPEUSER.USERID = 3
         AND TBL_MBLOG_POST.BLOGID = 1
         AND (TBL_MBLOG_POST.STATUT = 20
               OR TBL_MBLOG_POST.STATUT = 10)
         AND (TBL_MBLOG_POST.XDATE BETWEEN #2008-06-09# AND #2008-05-10#)
         AND (TYPEMSG = 10
               OR TYPEMSG = 30)
ORDER BY TBL_MBLOG_POST.XDATE DESC,
         TBL_MBLOG_POST.ID DESC

Un peu de détail sur le problème :

Un message est écrit sur le blog et est dédier à un ou plusieurs groupes d'usagers. Le problème est qu'un message dédier, par exemple, aux groupes A et B est affiché 2 fois pour un utilisateur faisant partie du groupe A et B.

La partie de la requête concernant les groupes sert uniquement à cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE    TBL_GROUPEUSER.USERID = 3
C'est dans cette table qu'on peut voir que l'usagé #3 est dans le groupe A et B.

Merci

Edit : j'ai trouvé, "Select Distinct"