Page 1 of 1

Requête subtile... (?)

Posted: 06 Sep 2011, 09:50
by Christophe.H
enfin subtile pour moi. Ce Topic trouverait son sens également sur un Forum Mysql mais j'ai pensé qu'il pouvait entrer facilement dans une caisse à outils d'admin.
L'objectif :
Lister tous les gestionnaires (access_level = 70) de tous le projets de chaque User

Code: Select all

#
# les gestionnaires des projets par user (ID). 
#
# a1 project_user_list coté user
# a2 project_user_list coté projet
#
SELECT 
a1.user_id,
a1.project_id,
mantis_project_table.name,
a2.user_id,
mantis_user_table.username,
mantis_user_table.email
FROM
`mantis_project_user_list_table` AS a1,
`mantis_project_user_list_table` AS a2
INNER JOIN 
`mantis_user_table` ON mantis_user_table.id = a2.user_id
INNER JOIN
`mantis_project_table` ON mantis_project_table.id = a2.project_id
WHERE 
a1.user_id IN ( SELECT id FROM `mantis_user_table`) 
AND
(a1.project_id = a2.project_id AND
a2.access_level = '70')
ORDER BY a1.user_id, a1.project_id ASC ;
Voila le code ci-dessus fonctionne sauf qu'il ne me ramène pas (et pour cause) le nom du user, il faudrait que je relise la table mantis_user_table... et je sais pas faire...

Donc j'ai soit une erreur de logique (je n'ai trouvé que cette rustine (code ci-dessous)) pour balayer le fichier mantis_user_table une 2° fois...

Code: Select all

WHERE 
a1.user_id IN ( SELECT id FROM `mantis_user_table`) 
soit une méconnaissance de la syntaxe Mysql soit...


merci de votre attention...[/color]

Re: Requête subtile... (?)

Posted: 06 Sep 2011, 14:45
by Lapinkiller
Bonjour,

Est ce dont tu as besoin ?

Code: Select all

SELECT
  u.username as user,
  p.name as project_name,
  uM.username as manager

FROM mantis_project_user_list_table as pul
JOIN mantis_user_table as u
  ON pul.user_id=u.id
JOIN mantis_project_table as p
  ON p.id=pul.project_id
JOIN mantis_project_user_list_table as pulM
  ON pulM.project_id=p.id AND pulM.access_level=70
JOIN mantis_user_table as uM
  ON uM.id=pulM.user_id
WHERE pul.access_level<70

Re: Requête subtile... (?)

Posted: 07 Sep 2011, 09:46
by Christophe.H
C'est clairement ça !!!
Merci beaucoup. :D

Re: Requête subtile... (?)

Posted: 07 Sep 2011, 14:42
by Lapinkiller
content que ca fonctionne (ca en fait des jointures :mrgreen: )